O Color LCD Shield é um shield com Nokia 6100 LCD a qual você conecta no arduino e assim você pode gerar imagens com arduino. Neste tutorial vamos mostrar como o shield funciona e como utilizá-lo com Arduino.
O Color LCD Shield pode suportar imagens de 132x132 pixels. Caso sua imagem seja maior, reduza-a até esse tamanho. Como as imagens precisam estar em hexadecimal, então fizemos um programa em PYTHON (é necessário instalá-lo no sistema operacional) para converter imagens .bmp em hexadecimal. O código está demonstrado abaixo:
import Image
import ImageColor
image='/home/ldg/Documentos/Python/logopbmp.bmp' #Coloque aqui o nome do arquivo que deseja converter
texto='/home/ldg/Documentos/Python/Imagem.txt' #Crie um arquivo texto em branco em um diretório a sua escolha e coloque aqui o nome do arquivo texto para guardar a matriz da imagem em hexadecimal
f=open(texto,'w') #Irá abrir o arquivo texto
imopen=Image.open(image) #Abrirá a imagem
x=y=0
h=0
while y<52: #Coloque aqui a altura da imagem. A imagem do Ldg tem 125x51 pixels
#print "y"
x=0
while x<125: # Coloque aqui o comprimento da imagem.
#print "x"
z=imopen.getpixel((x,y))
h=0
h = h+((z[0]/16))
h = h+((z[1]/16))*16
h = h+((z[2]/16))*16*16
h=hex(h)
#print h
f.write(str(h))
f.write(',')
x=x+1
y=y+1
f.write('\n')
f.close()
Copie e cole em um editor de texto (gedit, bloco de notas, notepad, etc) e salve o arquivo com a extensão .py. Agora, abra o prompt de comando ou terminal e digite: python nomedocodigo.py e irá converter a imagem .bmp em .txt.
Gerado o arquivo .txt abra-o e copie o conteúdo. Aqui fizemos com um logo do LdG.
Neste tutorial foi utilizado a biblioteca Color LCD Shield. Extraia a biblioteca na pasta "libraries" localizada dentro da pasta da IDE do Arduino. Depois disso,abra a IDE do arduino, cole o conteúdo que você copiou do arquivo txt no código abaixo:
#include <ColorLCDShield.h> //Inclui a biblioteca do Color LCD Shield
#include <avr/pgmspace.h> //Inclui a biblioteca do avr para gravar a matriz da imagem na memória flash
LCDShield lcd; //Define o lcd
byte cont = 40; // Contraste
void setup()
{
//Cuidado, se não funcionar, troque PHILLIPS por EPSON (tudo maiusculo)
lcd.init(PHILLIPS); // Inicializa o LCD
lcd.contrast(cont); // Contraste
lcd.clear(WHITE); // Fundo branco
printldg(); // Coloca a imagem do logo LdG
testPattern(); // Coloca varios retangulos de varias cores
}
void loop()
{
}
void testPattern()
{
lcd.setRect(80, 2, 131, 19, 1, WHITE); //Coloca retangulo branco
lcd.setRect(80, 19, 131, 35, 1, YELLOW); //Coloca retangulo amarelo
lcd.setRect(80, 35, 131, 51, 1, CYAN); //Coloca retangulo ciano
lcd.setRect(80, 51, 131, 67, 1, GREEN); //Coloca retangulo verde
lcd.setRect(80, 67, 131, 83, 1, MAGENTA); //Coloca retangulo magenta
lcd.setRect(80, 83, 131, 99, 1, RED); //Coloca retangulo vermelho
lcd.setRect(80, 99, 131, 115, 1, BLUE); //Coloca retangulo azul
lcd.setRect(80, 115, 131, 131, 1, BLACK); //Coloca retangulo preto
}
PROGMEM static unsigned int logoldg[6550] = { //A matriz da imagem contendo elementos hexadecimais no formato correto para o LCD
0xfff,0xfff,0xfff,0xfff,0xfff,0xeee,0x666,0x333,0x0,0x0,0x0,0x0,0x0,0x333,0x777,0xefe,0xfff,
0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfee,0x666,0x322,0x0,0x0,0x0,
0x0,0x0,0x222,0x566,0xcdd,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,
0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,
0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xccc,0x555,0x333,0x0,0x0,0x0,0x0,0x222,0x444,0xa9a,
0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,
0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,
0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,
0xfff,0xfff,0xfff,0xfff,0x999,0x0,0x0,0x13,0x35,0x34,0x35,0x35,0x35,0x12,0x0,0x0,0xaaa,
0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xa99,0x0,0x0,0x13,0x36,0x36,0x36,
0x36,0x35,0x23,0x0,0x0,0x788,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,
0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,
0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0x555,0x0,0x0,0x23,0x24,0x24,0x24,0x24,0x24,0x1,0x0,
0x222,0xeee,0xfff,0xfff,0xfff,0x888,0x767,0x999,0x9a9,0xbbb,0xfff,0xfff,0xfff,0xfff,0xfff,
0xfff,0xfff,0xfff,0xfff,0xccc,0x999,0x899,0x889,0x999,0xbbb,0xeee,0xfff,0xfff,0xfff,0xfff,
0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,
0xfff,0xfff,0xfff,0xaaa,0x0,0x12,0x8d,0x1af,0x19f,0x19f,0x9f,0x9f,0x9f,0xaf,0x8d,0x1,0x0,
0xbbb,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xbbb,0x0,0x1,0x18d,0xaf,0x19f,0x19f,0x9f,
0x9f,0x9f,0x9f,0x9e,0x23,0x0,0x999,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,
0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,
0xfff,0xfff,0xfff,0xfff,0xfff,0x555,0x0,0x36,0x19f,0x9f,0x19f,0xaf,0x19f,0x9f,0x9f,0x19f,
0x59,0x0,0x111,0xede,0x767,0x0,0x0,0x0,0x1,0x0,0x0,0x112,0xddd,0xfff,0xfff,0xfff,0xfff,0xfff,
0x999,0x10,0x0,0x0,0x0,0x0,0x110,0x0,0x0,0x655,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,
0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,
0xfff,0xfff,0xfff,0x0,0x11,0xaf,0x19f,0x19f,0x19f,0x19f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x1,0x100,
0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0x0,0x1,0x19f,0x9f,0x19f,0x9f,0x19f,0x9f,0x19f,0x9f,
0x9f,0x9f,0x19f,0x12,0x0,0xddd,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,
0xfff,0xfff,0xfff,0xfff,0xeee,0xccc,0xbbb,0xbbb,0xbbb,0xddd,0xddd,0xfff,0xfff,0xfff,0xfff,0xfff,
0xbbb,0x0,0x46,0x9f,0x9f,0x19f,0x9f,0x9f,0x9f,0x19f,0x9f,0x9f,0x9f,0x17b,0x0,0x0,0x0,0x12,0x7b,
0x19f,0x9f,0x9f,0x69,0x0,0x0,0xddd,0xfff,0xeee,0xbbb,0x555,0x0,0x12,0x16a,0x18d,0x8e,0x9e,0x18d,
0x17c,0x136,0x0,0x0,0xbbb,0xaaa,0xaaa,0xaaa,0xaaa,0xccc,0xddd,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,
0xfff,0xfff,0xaaa,0x0,0x17b,0x9f,0x9f,0x9f,0x19f,0x19f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x6a,0x0,0x988,
0xeee,0xeee,0xeee,0xeee,0xeee,0x99a,0x0,0x69,0x9f,0x9f,0x9f,0x19f,0x9f,0x19f,0x19f,0x9f,0x19f,0x9f,
0x9f,0x7d,0x0,0x0,0x100,0x455,0xdcd,0xfff,0xeee,0xeee,0xdee,0xdee,0xeee,0xeee,0xeee,0xfff,0xccc,0x555,
0x111,0x100,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x666,0xddd,0xede,0xeee,0x433,0x0,0xaf,0x9f,0x9f,0x9f,0x9f,0x9f,
0x19f,0x9f,0x19f,0x9f,0x9f,0x19f,0x24,0x12,0x7b,0xaf,0x9f,0x19f,0x9f,0x9f,0x9f,0x9e,0x0,0x0,0x100,0x0,
0x0,0x0,0x36,0x9f,0x8e,0x18e,0x8e,0x9f,0x8d,0x18e,0x9f,0x7b,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x333,
0xaaa,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,
0xfff,0xfff,0x666,0x0,0x9f,0x19f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x18f,0x9f,0x9f,0x9f,0x9f,0x0,0x0,0x0,0x0,
0x0,0x0,0x0,0x0,0x0,0x9f,0x9f,0x9f,0x19f,0x8f,0x9f,0x8f,0x9f,0x9f,0x19f,0x9f,0x19f,0x9f,0x6a,0x48,0x124,
0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x111,0x145,0x59,0x16a,0x6a,0x6a,0x6a,0x6a,0x58,0x23,0x0,
0x0,0x0,0x0,0x0,0x35,0x9f,0x19f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x19f,0x8e,0x19f,0x9f,0x19f,
0x9f,0x9f,0x19f,0x19f,0x9f,0x9f,0x6a,0x12,0x46,0x16a,0x6a,0x6b,0x9f,0x9f,0x9f,0x8e,0x19e,0x19f,0x17d,0x8d,
0x18e,0x9f,0x8d,0x17b,0x7b,0x7b,0x7b,0x7b,0x16b,0x6a,0x146,0x11,0x0,0x111,0xcdd,0xfff,0xfff,0xfff,0xfff,
0xfff,0xfff,0x344,0x11,0x19f,0x9f,0x19f,0x9f,0x7cf,0xfff,0xfff,0xfff,0x2af,0x9f,0x9f,0x9f,0x19f,0x0,0x24,
0x48,0x48,0x48,0x48,0x48,0x48,0x58,0x9f,0x18f,0x9f,0x8f,0x5af,0xfff,0xfff,0xfff,0x4bf,0x9f,0x9f,0x9f,0x9f,
0x18f,0x8f,0x9f,0x9f,0x36,0x36,0x47,0x58,0x48,0x48,0x58,0x48,0x47,0x24,0x47,0x8f,0x18e,0x18e,0x8f,0x9f,0x9f,
0x19f,0x8f,0x9f,0x19f,0x17b,0x48,0x48,0x48,0x48,0x7b,0x9f,0x9f,0x9f,0x8f,0xcef,0xfff,0xfff,0xeff,0x9f,0x9f,
0x9f,0x19f,0x9f,0x19f,0x9f,0x9f,0x19f,0x9f,0x9f,0x9f,0x19f,0x9f,0x19f,0x18f,0x8e,0x18d,0x8e,0x9f,0x9f,0x9f,
0x19f,0x9f,0x9f,0x9f,0x8e,0x9f,0x9f,0x9f,0x19f,0x9f,0x9f,0x9f,0x19f,0x9f,0x8f,0x8e,0x9f,0x19f,0x6a,0x0,0x0,0xddd,0xfff,0xfff,0xfff,
0xfff,0xfff,0x344,0x2,0x9f,0x19f,0x9f,0x9f,0x8cf,0xfff,0xfff,0xfff,0x2af,0x19f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,
0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x19f,0x9f,0x9f,0x19f,0x5af,0xfff,0xfff,0xfff,0x4bf,0x9f,0x19f,0x9f,0x9f,0x8e,
0x8e,0x8f,0x9f,0x9f,0x19f,0x8e,0x19f,0x9f,0x9f,0x9f,0x9f,0x8e,0x9f,0x9f,0x9f,0x7d,0x8d,0x8e,0x9f,0x9f,0x9f,
0x9f,0x19f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x19f,0x9f,0x8f,0xdef,0xfff,0xfff,0xeff,0x9f,0x19f,0x9f,
0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x3af,0x5bf,0x9f,0x19f,0x9f,0x9f,0x8f,0x7d,0x7d,0x8f,0x19f,0x9f,0x19f,0x9f,
0x29f,0x8cf,0x7cf,0x5bf,0x9f,0x19f,0x9f,0x9f,0x19f,0x19f,0x19f,0x9f,0x9f,0x8f,0x18e,0x18f,0x9e,0x8f,0x18e,0x1,0x0,0xfff,0xfff,0xfff,
0xfff,0xfff,0x434,0x11,0x1af,0x9f,0x9f,0x9f,0x8cf,0xfff,0xfff,0xfff,0x2af,0x9f,0x9f,0x9f,0x9f,0x19f,0x9f,
0x19f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x5bf,0xfff,0xfff,0xfff,0x4bf,0x9f,0x9f,0x9f,0x9f,
0x8e,0x8f,0x9f,0x19f,0x9f,0x9f,0x8e,0x19f,0x9f,0x9f,0x9f,0x8f,0x9f,0x19f,0x9f,0x9f,0x9f,0x7d,0x18d,0x9f,
0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x19f,0x9f,0x9f,0x9f,0x8f,0xdef,0xfff,0xfff,0xeff,0x8f,
0x19f,0x9f,0x19f,0x9f,0x9f,0x9f,0x2af,0xdef,0xfff,0xcef,0x8f,0x9f,0x19f,0x9f,0x9f,0x8f,0x7d,0x8f,0x9f,0x9f,
0x9f,0x9f,0x7bf,0xfff,0xfff,0xeff,0x8f,0x9f,0x19f,0x9f,0x9f,0x9f,0x9f,0x19f,0x19f,0x8f,0x8e,0x8e,0x8f,0x8f,0x18f,0x7d,
0x0,0x666,0xfff,0xfff,
0xfff,0xfff,0x434,0x11,0xaf,0x9f,0x9f,0x9f,0x8cf,0xfff,0xfff,0xfff,0x2af,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,
0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x19f,0x5af,0xfff,0xfff,0xfff,0x6bf,0x2af,0x2af,0x29f,0x2af,
0x29f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x19f,0x9f,0x9f,0x19f,0x19f,0x8f,0x19f,0x29f,0x2af,
0x2af,0x2af,0x29f,0x9f,0x19f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x8f,0xdef,0xfff,0xfff,0xeff,0x2af,
0x2af,0x2af,0x9f,0x9f,0x9f,0x9f,0x8cf,0xeff,0x5bf,0x8f,0x19f,0x9f,0x9f,0x9f,0x19f,0x9f,0x29f,0x2af,0x2af,0x2af,
0x2af,0x19f,0x5bf,0xeff,0xeff,0xcef,0x8f,0x9f,0x9f,0x29f,0x2af,0x2af,0x2af,0x29f,0x2af,0x2af,0x18e,0x8e,0x8e,
0x18f,0x8f,0x9f,0x35,0x0,0xfff,0xfff,
0xfff,0xfff,0x434,0x11,0xaf,0x9f,0x9f,0x9f,0x8cf,0xfff,0xfff,0xfff,0x2af,0x9f,0x9f,0x9f,0x9f,0x9f,0x19f,0x9f,
0x19f,0x19f,0x19f,0x19f,0x19f,0x19f,0x19f,0x19f,0x9f,0x9f,0x5af,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,
0xfff,0xfff,0x3af,0x9f,0x9f,0x8f,0x19f,0x19f,0x19f,0x19f,0x19f,0x19f,0x19f,0x9f,0x8f,0x8f,0x6bf,0xfff,0xfff,
0xfff,0xfff,0xfff,0xadf,0x9f,0x19f,0x19f,0x19f,0x19f,0x19f,0x19f,0x19f,0x19f,0x9f,0x9f,0x9f,0xdef,0xfff,0xfff,
0xfff,0xfff,0xfff,0xdff,0x8f,0x19f,0x9f,0x19f,0x19f,0x8f,0x19f,0x19f,0x19f,0x9f,0x9f,0x19f,0x9f,0xcef,0xfff,
0xfff,0xfff,0xfff,0xfff,0x4bf,0x8f,0x9f,0x8f,0x8f,0x9f,0x39f,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,
0xfff,0x8cf,0x7e,0x8e,0x18e,0x8f,0x17b,0x0,0xbbb,0xfff,
0xfff,0xfff,0x434,0x11,0xaf,0x9f,0x9f,0x9f,0x8cf,0xfff,0xfff,0xfff,0x2af,0x9f,0x9f,0x9f,0x9f,0x8f,0x9f,0x29f,
0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xbef,0x9f,0x4af,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,
0xfff,0xfff,0xfff,0xcef,0x8f,0x19f,0xeff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0x8df,0x9f,0x29f,0xfff,0xfff,
0xfff,0xfff,0xfff,0xfff,0xadf,0x8f,0xcef,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0x3af,0x8f,0xdef,0xfff,
0xfff,0xfff,0xfff,0xfff,0xcef,0x8f,0x6bf,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0x4af,0x9f,0x8cf,0xfff,
0xfff,0xfff,0xfff,0xfff,0xfff,0x3af,0x7bf,0xfff,0xfff,0xfff,0x8f,0xdef,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,
0xfff,0xfff,0xfff,0x29e,0x8d,0x8e,0x18e,0x18f,0x0,0x888,0xfff,
0xfff,0xfff,0x434,0x11,0xaf,0x9f,0x9f,0x9f,0x8cf,0xfff,0xfff,0xfff,0x2af,0x9f,0x9f,0x9f,0x9f,0x19f,0x9f,0x29f,0xfff,
0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0x7cf,0x5af,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,
0xfff,0xeff,0x8f,0xcdf,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0x4af,0x6bf,0xfff,0xfff,0xfff,0xfff,
0xfff,0xfff,0xadf,0x8f,0xcef,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0x8f,0xdef,0xfff,0xfff,0xfff,
0xfff,0xfff,0xdff,0x18f,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xeff,0x8f,0xdef,0xfff,0xfff,0xfff,
0xfff,0xfff,0xfff,0x3af,0x6bf,0xfff,0xfff,0xeff,0x8f,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,
0xfff,0x4bf,0x8e,0x8e,0x18e,0x19f,0x1,0x888,0xfff,
0xfff,0xfff,0x434,0x11,0xaf,0x9f,0x9f,0x9f,0x8cf,0xfff,0xfff,0xfff,0x2af,0x9f,0x9f,0x9f,0x9f,0x19f,0x9f,0x39f,0xfff,
0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0x9df,0x5af,0xfff,0xfff,0xfff,0xadf,0x8cf,0x8cf,0x9cf,0xfff,0xfff,
0xfff,0xfff,0x8f,0xdef,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0x5bf,0x6bf,0xfff,0xfff,0xfff,0xbef,0x8cf,
0x8cf,0x5bf,0x8f,0xdef,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0x8f,0xdef,0xfff,0xfff,0xfff,0x7cf,0x8cf,
0x6cf,0x29f,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0x8f,0xdef,0xfff,0xfff,0xfff,0x9df,0x8cf,0x9cf,
0x19f,0x7bf,0xfff,0xfff,0xeff,0x8f,0xfff,0xfff,0xfff,0xfff,0x8cf,0x8cf,0x8cf,0xdef,0xfff,0xfff,0xfff,0x4bf,0x19f,
0x9f,0x9f,0x19f,0x1,0x444,0xfff,
0xfff,0xfff,0x434,0x11,0xaf,0x9f,0x9f,0x9f,0x8cf,0xfff,0xfff,0xfff,0x2af,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x19f,0x9f,0x9f,
0x8f,0x8f,0x9f,0x8f,0xdef,0xfff,0xfff,0x9df,0x4af,0xfff,0xfff,0xfff,0x5bf,0x9f,0x9f,0x8f,0xcdf,0xfff,0xfff,0xfff,0x8f,
0xeef,0xfff,0xfff,0xbef,0x29f,0x3af,0x3af,0xfff,0xfff,0xfff,0x6bf,0x6bf,0xfff,0xfff,0xfff,0x4bf,0x9f,0x9f,0x9f,0x9f,
0x9f,0x8f,0x8f,0x9f,0x8f,0x8f,0x5bf,0xfff,0xfff,0xfff,0x8f,0xdef,0xfff,0xfff,0xfff,0x9f,0x9f,0x9f,0x3af,0xfff,0xfff,
0xfff,0x6bf,0x29f,0x29f,0x9cf,0xfff,0xfff,0xfff,0x8f,0xdef,0xfff,0xfff,0xeff,0x8f,0x19f,0x9f,0x9f,0x7bf,0xfff,0xfff,
0xeff,0x8f,0xfff,0xfff,0xfff,0xbef,0x8f,0x9f,0x9f,0x5bf,0xfff,0xfff,0xfff,0x4bf,0x9f,0x9f,0x9f,0x9f,0x1,0x444,0xfff,
0xfff,0xfff,0x434,0x11,0xaf,0x9f,0x9f,0x9f,0x8cf,0xfff,0xfff,0xfff,0x2af,0x9f,0x9f,0x9f,0x19f,0x9f,0x9f,0x9f,0x7cf,
0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0x9df,0x4af,0xfff,0xfff,0xfff,0x4bf,0x19f,0x19f,0x9f,0xbdf,0xfff,
0xfff,0xfff,0x8f,0xeef,0xfff,0xfff,0x7cf,0x9f,0x9f,0x8f,0xfff,0xfff,0xfff,0x6cf,0x6bf,0xfff,0xfff,0xfff,0x4bf,0x19f,
0x9f,0x9f,0x9f,0x29f,0xeef,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0x8f,0xdef,0xfff,0xfff,0xeff,0x8f,0x19f,
0x9f,0x3af,0xfff,0xfff,0xfff,0x19f,0x19f,0x19f,0x4af,0xfff,0xfff,0xfff,0x8f,0xdef,0xfff,0xfff,0xfff,0x9f,0x9f,0x19f,
0x9f,0x6bf,0xfff,0xfff,0xeff,0x8f,0xfff,0xfff,0xfff,0xbef,0x8f,0x19f,0x19f,0x5af,0xfff,0xfff,0xfff,0x4bf,0x19f,0x9f,
0x9f,0x19f,0x1,0x444,0xfff,
0xfff,0xfff,0x434,0x11,0xaf,0x9f,0x9f,0x9f,0x8cf,0xfff,0xfff,0xfff,0x2af,0x9f,0x9f,0x9f,0x9f,0x19f,0x9f,0x6af,0xfff,
0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0x9df,0x4af,0xfff,0xfff,0xfff,0x5bf,0x19f,0x9f,0x9f,0xcdf,0xfff,0xfff,
0xfff,0x8f,0xeef,0xfff,0xfff,0x7cf,0x9f,0x9f,0x8f,0xeff,0xfff,0xfff,0x6cf,0x6bf,0xfff,0xfff,0xfff,0x4af,0x9f,0x9f,0x9f,
0x8f,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0x8f,0xdef,0xfff,0xfff,0xfff,0x8f,0x9f,0x9f,0x39f,
0xfff,0xfff,0xfff,0x19f,0x9f,0x19f,0x4af,0xfff,0xfff,0xfff,0x8f,0xdef,0xfff,0xfff,0xfff,0x8f,0x9f,0x9f,0x9f,0x7bf,
0xfff,0xfff,0xeff,0x8f,0xfff,0xfff,0xfff,0xbef,0x8f,0x9f,0x9f,0x5af,0xfff,0xfff,0xfff,0x4bf,0x9f,0x9f,0x9f,0xaf,0x1,0x444,0xfff,
0xfff,0xfff,0x434,0x11,0xaf,0x9f,0x9f,0x9f,0x8cf,0xfff,0xfff,0xfff,0x29f,0x9f,0x9f,0x9f,0x9f,0x8f,0x9f,0x9df,0xfff,
0xfff,0xfff,0xdff,0xeff,0xeff,0xfff,0xfff,0xfff,0x9df,0x4af,0xfff,0xfff,0xfff,0x4bf,0x9f,0x9f,0x8f,0xbdf,0xfff,0xfff,
0xfff,0x8f,0xeef,0xfff,0xfff,0x8cf,0x9f,0x19f,0x9f,0xeff,0xfff,0xfff,0x6cf,0x6bf,0xfff,0xfff,0xfff,0x4bf,0x9f,0x19f,
0x19f,0x29f,0xfff,0xfff,0xfff,0xeff,0xeff,0xeff,0xeff,0xfff,0xfff,0xfff,0x8f,0xdef,0xfff,0xfff,0xeff,0x8f,0x9f,0x9f,
0x3af,0xfff,0xfff,0xfff,0x19f,0x9f,0x9f,0x4af,0xfff,0xfff,0xfff,0x8f,0xdef,0xfff,0xfff,0xfff,0x8f,0x9f,0x9f,0x9f,0x7bf,
0xfff,0xfff,0xeff,0x8f,0xfff,0xfff,0xfff,0xbef,0x8f,0x9f,0x9f,0x5af,0xfff,0xfff,0xfff,0x4bf,0x9f,0x9f,0x9f,0x9f,0x1,0x444,0xfff,
0xfff,0xfff,0x434,0x11,0xaf,0x9f,0x9f,0x9f,0x8cf,0xfff,0xfff,0xfff,0xfff,0xeff,0xfff,0xeff,0xeff,0xeff,0x9f,0xbdf,0xfff,
0xfff,0xbef,0x8f,0x8f,0x8f,0xddf,0xfff,0xfff,0x9df,0x4af,0xfff,0xfff,0xfff,0x8cf,0x5bf,0x5bf,0x5bf,0xeff,0xfff,0xfff,
0xfff,0x8f,0xeef,0xfff,0xfff,0x9df,0x8f,0x9f,0x19f,0xfff,0xfff,0xfff,0x6cf,0x6bf,0xfff,0xfff,0xfff,0x4bf,0x9f,0x9f,
0x9f,0x2af,0xfff,0xfff,0xfff,0x19f,0x8f,0x8f,0x5af,0xfff,0xfff,0xfff,0x8f,0xdef,0xfff,0xfff,0xfff,0x5bf,0x5bf,0x4bf,
0x39f,0xfff,0xfff,0xfff,0x3af,0x9f,0x8f,0x6bf,0xfff,0xfff,0xfff,0x8f,0xdef,0xfff,0xfff,0xfff,0x8f,0x9f,0x9f,0x9f,
0x7bf,0xfff,0xfff,0xeff,0x8f,0xfff,0xfff,0xfff,0xeff,0x5bf,0x5bf,0x4bf,0xbef,0xfff,0xfff,0xfff,0x4bf,0x9f,0x9f,0x9f,
0x9f,0x1,0x444,0xfff,
0xfff,0xfff,0x434,0x11,0xaf,0x9f,0x9f,0x9f,0x8cf,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0x9f,0xbdf,
0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0x9df,0x4af,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,
0xfff,0xfff,0xfff,0x8f,0xeef,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0x6bf,0x6bf,0xfff,0xfff,0xfff,
0x4af,0x9f,0x9f,0x19f,0x29f,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0x8f,0xdef,0xfff,0xfff,0xfff,
0xfff,0xfff,0xcef,0x29f,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0x8f,0xdef,0xfff,0xfff,0xfff,
0x8f,0x9f,0x9f,0x9f,0x7bf,0xfff,0xfff,0xeff,0x8f,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,
0x4bf,0x19f,0x9f,0x19f,0x19f,0x1,0x444,0xfff,
0xfff,0xfff,0x444,0x11,0x1af,0x19f,0x9f,0x9f,0x7bf,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0x9f,0x9cf,
0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0x8cf,0x4af,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,
0xfff,0xfff,0xdef,0x8f,0xdef,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0x4bf,0x6bf,0xfff,0xfff,0xfff,
0x4bf,0x9f,0x9f,0x9f,0x19f,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0x8f,0xbdf,0xfff,0xfff,0xfff,
0xfff,0xfff,0xcef,0x19f,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0x8f,0xdef,0xfff,0xfff,0xeff,
0x8f,0x19f,0x9f,0x9f,0x6bf,0xfff,0xfff,0xfff,0x8f,0xeef,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,
0x2af,0x8e,0x8e,0x8e,0x9f,0x0,0x778,0xfff,
0xfff,0xfff,0x434,0x11,0xaf,0x9f,0x9f,0x9f,0x7cf,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0x9f,0x19f,
0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xeff,0x19f,0x5bf,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,
0xfff,0xfff,0x3bf,0x8f,0x4af,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xdff,0x8f,0x6bf,0xfff,0xfff,0xfff,
0x4bf,0x9f,0x19f,0x19f,0x8f,0xadf,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0x7cf,0x9f,0x29f,0xfff,0xfff,
0xfff,0xfff,0xfff,0xdef,0x8f,0xadf,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0x7cf,0x8f,0xdef,0xfff,0xfff,
0xfff,0x8f,0x9f,0x9f,0x9f,0x6bf,0xfff,0xfff,0xeff,0x8f,0x4af,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,
0xfff,0xaef,0x8e,0x8e,0x8e,0x18f,0x18e,0x0,0x888,0xfff,
0xfff,0xfff,0x555,0x12,0x9f,0x8f,0x8f,0x8f,0x29f,0x3af,0x2af,0x3af,0x3af,0x3af,0x3af,0x3af,0x3af,0x3af,0x9f,0x9f,
0x8f,0x2af,0x2af,0x3af,0x3af,0x3af,0x2af,0x29f,0x8f,0x9f,0x29f,0x3af,0x3af,0x3af,0x3af,0x3af,0x3af,0x3af,0x3af,
0x3af,0x9f,0x18f,0x9f,0x19f,0x8f,0x3af,0x3af,0x3af,0x3af,0x3af,0x2af,0x29f,0x8f,0x9f,0x19f,0x3af,0x3af,0x3af,
0x19f,0x19f,0x9f,0x19f,0x9f,0x8f,0x19f,0x2af,0x3af,0x2af,0x3af,0x2af,0x3af,0x8f,0x19f,0x9f,0x19f,0x8f,0x29f,
0x3af,0x3af,0x3af,0x2af,0x9f,0x8f,0x19f,0x3af,0x3af,0x3af,0x3af,0x3af,0x3af,0x19f,0x9f,0x9f,0x3af,0x2af,0x3af,
0x2af,0x9f,0x19f,0x9f,0x19f,0x19f,0x3af,0x3af,0x3af,0x19f,0x9f,0x8f,0x2af,0x2af,0x2af,0x2af,0x3af,0x3af,0x3af,
0x19f,0x8e,0x8e,0x18e,0x18e,0x8f,0x7b,0x0,0xbbc,0xfff,
0xfff,0xfff,0x455,0x0,0x9f,0x9f,0x9f,0x9f,0x9f,0x19f,0x19f,0x9f,0x19f,0x19f,0x19f,0x19f,0x9f,0x9f,0x9f,0x19f,
0x9f,0x9f,0x9f,0x9f,0x19f,0x19f,0x19f,0x19f,0x19f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x19f,0x19f,0x19f,0x19f,
0x19f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x19f,0x19f,0x19f,0x19f,0x19f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x19f,
0x9f,0x9f,0x19f,0x8e,0x18f,0x19f,0x19f,0x19f,0x19f,0x19f,0x9f,0x9f,0x9f,0x9f,0x19f,0x8f,0x19f,0x19f,0x19f,
0x19f,0x9f,0x9f,0x9f,0x9f,0x19f,0x19f,0x19f,0x19f,0x19f,0x19f,0x9f,0x9f,0x9f,0x19f,0x19f,0x18f,0x9f,0x9f,0x9f,
0x19f,0x19f,0x19f,0x19f,0x9f,0x9f,0x9f,0x9f,0x9f,0x19f,0x19f,0x19f,0x19f,0x9f,0x19f,0x18f,0x18e,0x8d,0x18e,
0x8e,0x18f,0x9f,0x124,0x222,0xfff,0xfff,
0xfff,0xfff,0x999,0x0,0x17d,0x19f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x19f,0xaf,0x19f,0x9f,
0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x19f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x19f,0x9f,0x9f,0x9f,0x19f,0x9f,
0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x19f,0x9f,0x19f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,
0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x8e,0x9f,0x9f,0x9f,0x9f,0x9f,0x18e,0x8f,0x9f,0x9f,0x19f,0x9f,0x9f,
0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x19f,0x9f,0x9f,
0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x18f,0x8e,0x8f,0x8f,0x17b,0x0,0x999,0xfff,0xfff,
0xfff,0xfff,0xfff,0x0,0x22,0x1af,0x9f,0x19f,0x9f,0x9f,0x9f,0x9f,0x19f,0x19f,0x9f,0x5a,0x0,0x0,0x0,0x19d,
0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x19f,0x19f,0x19f,0x9f,0x9f,0x19e,0x2,0x0,0x0,
0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x6a,0x9f,0x9f,0x19f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x19f,0x9f,0x9f,
0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x8f,0x9f,0x9f,0x9f,0x9f,0x9f,0x8e,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,
0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,
0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x19f,0x9f,0x9f,0x9f,0x9f,0x19f,0x7b,0x0,0x111,0xfff,0xfff,0xfff,
0xfff,0xfff,0xfff,0x444,0x0,0x7c,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x5a,0x0,0x0,0x0,0x9e,0x9f,
0x9f,0x9f,0x9f,0x19f,0x9f,0x9f,0x19f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x19f,0x24,0x0,0x0,0x0,0x0,0x0,
0x0,0x0,0x0,0x0,0x0,0x6a,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x8e,0x19f,0x9f,0x9f,
0x9f,0x9f,0x9f,0x9f,0x9f,0x19f,0x9f,0x9f,0x9f,0x9f,0x9f,0x19f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,
0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,
0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x19f,0x9f,0x9f,0x9f,0x8e,0x18e,0x12,0x211,0xfff,0xfff,0xfff,
0xfff,0xfff,0xbbb,0x111,0x47,0x9f,0x8e,0x8f,0x18f,0x8f,0x9f,0x9f,0x9f,0x9f,0x9f,0x5a,0x0,0x0,0x0,0x9e,0x9f,
0x9f,0x9f,0x9f,0x9f,0x9f,0x19f,0x8e,0x8e,0x8e,0x9f,0x9f,0x9f,0x8f,0x8f,0x9f,0x9f,0x1,0x0,0x0,0x0,0x0,0x0,0x0,
0x0,0x0,0x0,0x0,0x6a,0x19f,0x19f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x8e,0x7d,0x9f,0x9f,0x9f,
0x9f,0x9f,0x9f,0x9f,0x9f,0x19f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x19f,0x8f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,
0x9f,0x9f,0x9f,0x19f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x8e,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,
0x9f,0x9f,0x9f,0x9f,0x8f,0x8e,0x7d,0x7d,0x17d,0x8d,0x8e,0x111,0x455,0xfff,0xfff,
0xfff,0xfff,0x334,0x0,0x9f,0x18f,0x8e,0x8e,0x8e,0x8e,0x59,0x59,0x59,0x59,0x59,0x36,0x0,0x0,0x0,0x19e,0x9f,0x9f,
0x19f,0x9f,0x9f,0x9f,0x19f,0x8d,0x8e,0x8e,0x18e,0x8e,0x9f,0x9f,0x9f,0x9f,0x9f,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
0x0,0x0,0x0,0x6a,0x9f,0x9f,0x9f,0x19f,0x19f,0x19f,0x19f,0x9f,0x9f,0x9f,0x18f,0x9f,0x9f,0x59,0x59,0x59,0x59,0x169,
0x9f,0x9f,0x19f,0x9f,0x9f,0x19f,0x19f,0x19f,0x19f,0x19f,0x9f,0x9f,0x9f,0x17c,0x59,0x58,0x59,0x59,0x59,0x59,0x59,
0x59,0x7b,0x9f,0x9f,0x19f,0x19f,0x19f,0x9f,0x9f,0x19f,0x9f,0x19f,0x9f,0x19f,0x19f,0x6b,0x59,0x59,0x69,0x59,0x159,
0x59,0x58,0x59,0x59,0x59,0x59,0x7b,0x8d,0x17c,0x8d,0x18e,0x18e,0x158,0x0,0xeee,0xfff,
0xfff,0xfff,0x0,0x135,0x19f,0x8e,0x18e,0x8e,0x16b,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x9e,0x9f,0x9f,0x1af,0xaf,
0xaf,0xaf,0xaf,0x1af,0x9f,0x8e,0x8e,0x18e,0x9f,0x9f,0x9f,0x9f,0x9f,0x0,0x0,0x0,0x35,0xaf,0x9f,0x9f,0x9f,0x9f,0x9f,
0x19f,0x9f,0x9f,0xaf,0x1af,0x1af,0xaf,0xaf,0x1af,0x9f,0x19f,0x18f,0x9f,0x6b,0x0,0x0,0x0,0x0,0x0,0x12,0x9f,0x9f,0xaf,
0x1af,0x1af,0xaf,0x1af,0x1af,0x1af,0x9f,0x19f,0xaf,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x47,0x9f,0x9f,0x9f,0x9f,
0x1af,0x19f,0xaf,0x9f,0x19f,0x9f,0x9f,0x19f,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x12,0x8e,0x7d,
0x8d,0x18e,0x18d,0x100,0x999,0xfff,
0xfff,0xdcd,0x0,0x59,0x18f,0x8e,0x8e,0x9f,0x24,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x9e,0x19e,0x13,0x0,0x0,0x0,
0x0,0x0,0x0,0x13,0x19f,0x8e,0x8e,0x9f,0x9f,0x9f,0x9f,0x9f,0x0,0x0,0x0,0x35,0x19f,0x9f,0x1af,0xaf,0xaf,0xaf,0xaf,0x9f,
0x7c,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x12,0x9e,0x9f,0x1,0x0,0x0,0x0,0x0,0x0,0x12,0x1af,0x35,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
0x47,0x19f,0x6b,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x47,0x9f,0x159,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7b,0x9f,0x35,
0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x69,0x17c,0x7d,0x18e,0x8f,0x122,0x555,0xfff,
0xfff,0xddd,0x0,0x6a,0x8f,0x8e,0x8e,0x9f,0x2,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x9e,0x36,0x0,0x0,0x0,0x0,0x0,
0x0,0x0,0x0,0x46,0x9f,0x8d,0x9f,0x9f,0x9f,0x9f,0x9f,0x0,0x0,0x0,0x35,0x1af,0x35,0x0,0x0,0x0,0x0,0x0,0x7a,0x7c,0x0,0x0,
0x0,0x0,0x0,0x0,0x0,0x0,0x34,0x19f,0x0,0x0,0x0,0x0,0x0,0x0,0x11,0x1af,0x35,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7b,0x59,
0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x47,0x8d,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xaf,0x24,0x0,0x0,0x0,0x0,0x0,
0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x57,0x8d,0x7d,0x18e,0x8e,0x234,0x555,0xfff,
0xfff,0xccc,0x0,0x6b,0x9f,0x9f,0x9f,0x9f,0x12,0x0,0x0,0x11,0x9f,0x9f,0x19f,0x59,0x0,0x0,0x0,0x19f,0x13,0x0,0x0,0x0,
0x0,0x0,0x0,0x0,0x0,0x23,0x9f,0x18e,0x9f,0x9f,0x9f,0x9f,0x9f,0x0,0x0,0x0,0x35,0x19f,0x35,0x0,0x0,0x0,0x0,0x0,0x6a,
0x7c,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x11,0xaf,0x0,0x0,0x0,0x24,0x19f,0x9f,0x19f,0x9f,0x25,0x0,0x0,0x0,0x0,0x0,0x0,
0x0,0x0,0x58,0x5a,0x0,0x0,0x0,0x7b,0x19f,0x19f,0x19f,0x0,0x0,0x0,0x47,0x6b,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x9e,
0x24,0x0,0x0,0x1,0x19f,0x9f,0x5a,0x0,0x0,0x0,0x18d,0x19f,0x7d,0x0,0x0,0x0,0x57,0x9f,0x9f,0x9f,0xaf,0x12,0x0,0xfff,
0xfff,0xccc,0x0,0x6b,0x9f,0x9f,0x9f,0x9f,0x12,0x0,0x0,0x23,0x9f,0x9f,0x19f,0x59,0x0,0x0,0x0,0x19f,0x13,0x0,0x0,0x79,
0x19f,0x19f,0x6a,0x0,0x0,0x23,0xaf,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x0,0x0,0x0,0x35,0xaf,0x35,0x0,0x0,0x0,0x0,0x0,0x7a,
0x9f,0x9e,0x1af,0xaf,0xaf,0xaf,0x7b,0x0,0x0,0x11,0xaf,0x0,0x0,0x0,0x46,0x9f,0x9f,0x9f,0x9f,0x9f,0xaf,0x1af,0x1af,0xaf,
0x1af,0x34,0x0,0x0,0x58,0x5a,0x0,0x0,0x0,0x18d,0x9f,0x9f,0x9f,0x0,0x0,0x0,0x47,0x6b,0x0,0x0,0x23,0x1af,0x9f,0x1af,0x1,
0x0,0x0,0x9e,0x24,0x0,0x0,0x11,0x1af,0x9f,0x6a,0x0,0x0,0x0,0x8d,0x9f,0x19f,0x0,0x0,0x0,0x57,0x9f,0x9f,0x9f,0xaf,0x12,0x0,0xfff,
0xfff,0xccc,0x0,0x6b,0x9f,0x9f,0x9f,0x9f,0x12,0x0,0x0,0x23,0x19f,0x9f,0x19f,0x59,0x0,0x0,0x0,0x19f,0x13,0x0,0x0,0x1,
0x1,0x1,0x0,0x0,0x0,0x24,0x19f,0x19f,0x9f,0x9f,0x9f,0x9f,0x9f,0x0,0x0,0x0,0x45,0x19f,0x5a,0x46,0x36,0x0,0x0,0x0,0x17a,
0x9f,0x23,0x0,0x1,0x0,0x1,0x0,0x0,0x0,0x11,0xaf,0x0,0x0,0x0,0x46,0x9f,0x9f,0x9f,0x9f,0x7d,0x1,0x1,0x0,0x0,0x0,0x0,0x0,
0x0,0x58,0x5a,0x0,0x0,0x0,0x8d,0x9f,0x9f,0x9f,0x0,0x0,0x0,0x47,0x6b,0x0,0x0,0x0,0x1,0x1,0x1,0x0,0x0,0x0,0x9f,0x24,0x0,
0x0,0x11,0x9f,0x9f,0x5a,0x0,0x0,0x0,0x8d,0x9f,0x9f,0x0,0x0,0x0,0x57,0x9f,0x9f,0x9f,0xaf,0x12,0x0,0xfff,
0xfff,0xccc,0x0,0x6b,0x9f,0x9f,0x9f,0x9f,0x12,0x0,0x0,0x23,0x19f,0x9f,0x19f,0x59,0x0,0x0,0x0,0x19f,0x13,0x0,0x0,0x0,
0x0,0x0,0x0,0x0,0x0,0x69,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x0,0x0,0x0,0x36,0x9f,0x19f,0x19f,0x8e,0x0,0x0,0x0,0x7a,
0x159,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x11,0xaf,0x0,0x0,0x0,0x46,0x9f,0x9f,0x9f,0x19f,0x12,0x0,0x0,0x0,0x0,0x0,0x0,
0x0,0x0,0x58,0x5a,0x0,0x0,0x0,0x8d,0x9f,0x9f,0x9f,0x0,0x0,0x0,0x47,0x6b,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x11,0x1af,
0x24,0x0,0x0,0x11,0x19f,0x9f,0x5a,0x0,0x0,0x0,0x8d,0x9f,0x19f,0x0,0x0,0x0,0x57,0x9f,0x9f,0x9f,0xaf,0x12,0x0,0xfff,
0xfff,0xccc,0x0,0x6b,0x9f,0x9f,0x19f,0x9f,0x12,0x0,0x0,0x22,0x1af,0xaf,0xaf,0x6a,0x0,0x0,0x0,0x9f,0x13,0x0,0x0,0x24,
0x36,0x36,0x36,0x36,0x7b,0x19f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x0,0x0,0x0,0x12,0x8c,0x7d,0x7c,0x7a,0x0,0x0,0x0,0x7b,
0x35,0x0,0x0,0x22,0x36,0x36,0x24,0x0,0x0,0x11,0xaf,0x0,0x0,0x0,0x46,0x9f,0x9f,0x9f,0x19f,0x0,0x0,0x0,0x35,0x36,0x36,0x1,
0x0,0x0,0x59,0x59,0x0,0x0,0x0,0x17c,0xaf,0x19f,0x1af,0x0,0x0,0x0,0x47,0x6b,0x0,0x0,0x1,0x36,0x36,0x36,0x36,0x48,0x9e,0x9f,
0x24,0x0,0x0,0x11,0x9f,0x9f,0x5a,0x0,0x0,0x0,0x8d,0x9f,0x9f,0x0,0x0,0x0,0x57,0x9f,0x9f,0x9f,0xaf,0x12,0x0,0xfff,
0xfff,0xccc,0x0,0x6b,0x9f,0x9f,0x9f,0x9f,0x12,0x0,0x0,0x0,0x1,0x1,0x1,0x0,0x0,0x0,0x0,0x9f,0x13,0x0,0x0,0x45,0x6a,0x6a,
0x6a,0x6a,0x6a,0x8d,0x9f,0x9f,0x9f,0x9f,0x19f,0x19f,0x19f,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7b,0x35,0x0,0x0,
0x35,0x6a,0x6a,0x47,0x0,0x0,0x12,0x1af,0x0,0x0,0x0,0x46,0x9f,0x9f,0x9f,0x9f,0x0,0x0,0x0,0x16a,0x6a,0x16a,0x13,0x0,0x0,
0x158,0x5a,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x47,0x6b,0x0,0x0,0x11,0x6a,0x6a,0x6a,0x6a,0x69,0x16b,0xaf,0x24,0x0,
0x0,0x11,0x9f,0x9f,0x5a,0x0,0x0,0x0,0x8d,0x9f,0x9f,0x0,0x0,0x0,0x57,0x9f,0x9f,0x9f,0xaf,0x12,0x0,0xfff,
0xfff,0xccd,0x0,0x6a,0x8f,0x8f,0x8e,0x19f,0x13,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x9f,0x14,0x0,0x0,0x0,0x0,0x0,
0x0,0x0,0x0,0x7a,0x19f,0x9f,0x9f,0x9f,0x8e,0x8e,0x9f,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7b,0x35,0x0,0x0,0x0,
0x0,0x0,0x0,0x0,0x0,0x12,0xaf,0x0,0x0,0x0,0x46,0x9f,0x9f,0x9f,0x9f,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x59,0x6b,0x0,
0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x47,0x6b,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x23,0x1af,0x24,0x0,0x0,0x11,0x9f,0x9f,
0x5a,0x0,0x0,0x0,0x8d,0x9f,0x9f,0x0,0x0,0x0,0x57,0x9f,0x9f,0x9f,0xaf,0x12,0x0,0xfff,
0xfff,0xcdd,0x0,0x169,0x8f,0x18e,0x18e,0x8e,0x59,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x9e,0x48,0x0,0x0,0x0,0x0,0x0,
0x0,0x0,0x0,0x7a,0x9f,0x19f,0x9f,0x9f,0x8e,0x8e,0x8e,0x37,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7a,0x5a,0x0,0x0,0x0,
0x0,0x0,0x0,0x0,0x0,0x36,0x9f,0x0,0x0,0x0,0x46,0x19f,0x9f,0x19f,0x9f,0x13,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x8d,0x9f,0x1,
0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x46,0x19f,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x23,0x1af,0x24,0x0,0x0,0x11,0x1af,0x9f,
0x5a,0x0,0x0,0x0,0x18d,0x9f,0x9f,0x0,0x0,0x0,0x57,0x9f,0x9f,0x9f,0xaf,0x12,0x0,0xfff,
0xfff,0xfff,0x0,0x36,0x19f,0x8e,0x18e,0x8e,0x9f,0x6b,0x25,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x19e,0x9f,0x59,0x24,
0x24,0x24,0x24,0x24,0x24,0x23,0x17b,0x9f,0x19f,0x9f,0x9f,0x8e,0x18e,0x8d,0x9f,0x16a,0x24,0x24,0x24,0x24,0x24,0x24,0x24,
0x24,0x23,0x7b,0x19f,0x6a,0x24,0x24,0x24,0x24,0x24,0x24,0x58,0x19f,0x9f,0x24,0x24,0x24,0x58,0x9f,0x9f,0x9f,0x9f,0x18e,
0x37,0x24,0x24,0x24,0x24,0x24,0x34,0x7c,0x9f,0x9f,0x19f,0x59,0x47,0x47,0x47,0x47,0x47,0x0,0x0,0x0,0x47,0x9f,0x18d,0x35,
0x24,0x24,0x24,0x24,0x23,0x24,0x146,0x1af,0x47,0x24,0x24,0x35,0x19f,0x9f,0x6b,0x23,0x24,0x24,0x9e,0x9f,0x19f,0x14,0x24,
0x24,0x69,0x9f,0x9f,0x9f,0x9f,0x12,0x0,0xfff,
0xfff,0xfff,0x333,0x101,0x19f,0x19e,0x8f,0x8e,0x8e,0x18f,0x9f,0x19f,0x9f,0x9f,0x9f,0x9f,0x19f,0x9f,0x19f,0x19f,0x19f,0x19f,
0x19f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x19f,0x19f,0x9f,0x9f,0x19f,0x8e,0x8e,0x18e,0x8d,0x8e,0x9f,0x9f,0x9f,0x9f,0x9f,0x19f,
0x19f,0x19f,0x9f,0x9f,0x9f,0x9f,0x19f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x18f,0x9f,0x9f,0x9f,0x9f,
0x9f,0x9f,0x9f,0x19f,0x9f,0x19f,0x19f,0x9f,0x9f,0x19f,0x17d,0x58,0x59,0x59,0x59,0x59,0x158,0x58,0x0,0x0,0x0,0x47,0x9f,
0x9f,0x9f,0x19f,0x19f,0x19f,0x9f,0x19f,0x9f,0x9f,0x9f,0x9f,0x9f,0x19f,0x9f,0x8f,0x19f,0x9f,0x19f,0x9f,0x19f,0x19f,0x19f,
0x19f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x19f,0xaf,0x12,0x222,0xfff,
0xfff,0xfff,0xaab,0x0,0x158,0x18f,0x8e,0x18f,0x8e,0x8e,0x8e,0x19f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x8f,0x19f,0x9f,0x9f,
0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x8e,0x8f,0x8e,0x8e,0x8e,0x8d,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,
0x9f,0x9f,0x19f,0x19f,0x9f,0x9f,0x9f,0x9f,0x9f,0x19f,0x9f,0x9f,0x9f,0x9f,0x19f,0x9f,0x8f,0x9f,0x9f,0x9f,0x19f,0x8e,0x18e,
0x19f,0x9f,0x19f,0x19f,0x9f,0x9f,0x19f,0x9f,0x5a,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x57,0x19f,0x19f,0x9f,0x9f,0x19f,
0x9f,0x9f,0x9f,0x9f,0x9f,0x19f,0x19f,0x19f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x19f,0x9f,0x9f,0x9f,0x9f,0x19f,0x9f,
0x9f,0x19f,0x9f,0x9f,0x0,0x444,0xfff,
0xfff,0xfff,0xfff,0x223,0x0,0x7c,0x19f,0x9e,0x18e,0x8e,0x18e,0x9f,0x19f,0x19f,0x19f,0x19f,0x9f,0x9f,0x9f,0x9f,0x19f,0x9f,
0x19f,0x19f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x19f,0x9f,0x35,0x8e,0x18f,0x18f,0x18e,0x18e,0x8e,0x9f,0x9f,0x9f,0x9f,0x9f,
0x9f,0x9f,0x9f,0x19f,0x9f,0x19f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x18f,0x9f,0x9f,0x19f,0x9f,0x18e,
0x8e,0x9f,0x19f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x5a,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7c,0x9f,0x9f,0x9f,0x9f,0x9f,
0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x19f,0x9f,0x9f,0x9f,0x9f,0x19f,0x9f,0x9f,0x9f,0x19f,0x9f,0x19f,0x19f,0x19f,0x19f,0x9f,0x9f,
0x9f,0x9f,0x19f,0x58,0x0,0xaaa,0xfff,
0xfff,0xfff,0xfff,0xeee,0x0,0x0,0x6a,0x9f,0x18f,0x18f,0x8e,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x8f,
0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x19f,0x9f,0xaf,0x59,0x0,0x0,0x17b,0x9f,0x18f,0x18f,0x8e,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,
0x9f,0x9f,0x9f,0x8f,0x8e,0x9f,0x9f,0x9f,0x9f,0x8e,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x8f,0x9f,0x9f,0x19f,0x9f,0x8e,0x8e,0x19f,
0x9f,0x19f,0x9f,0x19f,0x9f,0x9f,0x9f,0x59,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x57,0x9f,0x19f,0x9f,0x9f,0x9f,0x19f,0x9f,
0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x19f,0x19f,0x19f,
0x19f,0x7c,0x0,0x222,0xfff,0xfff,
0xfff,0xfff,0xfff,0xfff,0xfff,0x666,0x0,0x13,0x58,0x18d,0x8f,0x19f,0x19f,0x19f,0x19f,0x19f,0x19f,0x19f,0x9f,0x8f,0x6b,
0x18d,0x8e,0x9f,0x19f,0x19f,0x19f,0x19f,0x9f,0x19f,0x7b,0x24,0x0,0x333,0x666,0x0,0x23,0x169,0x8d,0x8e,0x19f,0x19f,0x19f,
0x19f,0x19f,0x19f,0x19f,0x19f,0x9e,0x7c,0x7d,0x8e,0x19f,0x19f,0x19f,0x19f,0x8e,0x18d,0x6b,0x19e,0x19f,0x9f,0x9f,0x18f,
0x8e,0x47,0x0,0x35,0x6b,0x18e,0x9f,0x19f,0x9f,0x19f,0x9f,0x9f,0x9f,0x8f,0x8e,0x18d,0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,
0x19f,0x9f,0x8e,0x8f,0x19f,0x9f,0x9f,0x19f,0x9f,0x19f,0x19f,0x19f,0x9f,0x8f,0x19f,0x19f,0x19f,0x9f,0x18d,0x7d,0x9f,0x9f,
0x19f,0x9f,0x8f,0x7c,0x19e,0x19f,0x9f,0x9f,0x9e,0x8c,0x35,0x0,0x211,0xfff,0xfff,0xfff,
0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xddd,0x555,0x111,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x999,0xfff,0xfff,0xccc,0x343,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x444,0x111,0x0,0x0,0x0,0x0,0x0,0x1,0x1af,0x19f,0x19f,0x9f,0x9f,
0x9f,0x9f,0x9f,0x9f,0x9f,0x19f,0x9f,0x9e,0x8e,0x18e,0x8e,0x18e,0x8e,0x19f,0x24,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x666,0xfff,0xfff,0xfff,0xfff,
0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xddd,0xeee,0xaba,0xaaa,0xaaa,0xaaa,0xaaa,0xaaa,0xaaa,0xbbb,0xbbb,
0xddd,0xccc,0xded,0xaaa,0xaaa,0xaaa,0xaaa,0xaaa,0xaaa,0xcbb,0xbbb,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfef,0xccd,0xded,
0xaaa,0xaaa,0xaaa,0xaaa,0xaaa,0xaaa,0xaaa,0xaaa,0xbcb,0xccc,0xccc,0xeee,0xaaa,0xaaa,0xaaa,0xaaa,0xeed,0xbcc,0xccc,0xbbb,
0xccc,0xaaa,0xaaa,0xccc,0xaaa,0xfff,0xfff,0xfff,0xeef,0xddd,0xccc,0xaaa,0x766,0x0,0x18d,0x9f,0x9f,0x9f,0x19f,0x9f,0x19f,
0x9f,0x9f,0x9f,0x9f,0x9f,0x18e,0x8e,0x8e,0x8e,0x8f,0x8f,0x6a,0x0,0x767,0xaaa,0xaaa,0xaaa,0xaaa,0xaab,0xaaa,0xaaa,0xaaa,
0xaaa,0xaaa,0xabb,0xaab,0xaaa,0xaaa,0xaaa,0xbab,0xbbb,0xabb,0xaaa,0xaa9,0xaaa,0xaa9,0xaaa,0xbbb,0xfee,0xfff,0xfff,0xfff,0xfff,0xfff,
0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,
0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,
0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,
0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0x0,0x13,0xaf,0x9f,0x9f,0x9f,0x19f,0x9f,
0x9f,0x9f,0x9f,0x9f,0x19f,0x18e,0x8e,0x8f,0x19e,0x9f,0x17b,0x0,0x544,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,
0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,
0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,
0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,
0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,
0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xaaa,0x0,0x24,0x19f,0x9f,0x9f,0x9f,0x9f,0x9f,
0x9f,0x9f,0x9f,0x9f,0x8f,0x19f,0x19f,0x8e,0x35,0x0,0x888,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,
0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,
0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,
0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,
0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,
0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xaaa,0x0,0x0,0x24,0x46,0x36,0x36,0x36,
0x36,0x36,0x36,0x36,0x146,0x35,0x12,0x0,0x322,0xddd,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,
0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,
0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,
0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,
0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,
0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0x888,0x444,0x222,0x111,
0x111,0x111,0x111,0x111,0x111,0x111,0x332,0x555,0x888,0xddd,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,
0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,
0xfff,0xfff,0xfff,0xfff,0xfff,
};
void printldg(void) //Função para ordenar os pixels da matriz logoldg e montar a imagem
{
int x=0; int y=0; unsigned int z=0;
for(y=10;y<62;y=y+1) //Localização de onde deve começar a imagem e onde termina. Começando no ponto y=10 do LCD
{ // e terminando no ponto y=62(52+10), onde 52 é a altura da imagem e 10 o começo do primeiro ponto do LCD
for(x=5;x<130;x=x+1) //Localização do ponto x=5 do LCD terminando no ponto x=130(125+5), onde 125 é o comprimento da imagem
{ //e 5 é o começo do LCD
lcd.setPixel(pgm_read_word_near(logoldg+z),y,x); //Coloca o pixel da matriz logoldg no ponto [x,y] do LCD
z=z+1; //Vai para o próximo elemento da matriz logoldg
}
}
}
Por fim, conecte o Shield no Arduino e depois o Arduino no PC. Selecione a versão da sua placa Arduino (UNO, Duemilanove, etc) e selecione a porta a qual seu Arduino está conectado (COMx, ttyUSBx, ttyACMx, etc). Clique em UPLOAD e assim que terminar irá aparecer a imagem. Aqui fizemos com o logo e mais barras coloridas para demonstrar. Abaixo tem umas imagens mostrando o LCD em funcionamento.
Tivemos que colar a imagem em hexadecimal dentro da memória Flash, pois senão não funciona por causa da memória RAM limitada.
E é isso! Esperamos que tenham gostado! Caso tenham dúvidas, postem aqui mesmo no blog! Caso tenham sugestões de tutoriais, postem aqui! E se quiserem ver outros tutoriais e projetos abertos, cliquem aqui e aqui respectivamente! Até a próxima galera!
Referências:
http://www.labdegaragem.org/loja/index.php/31-shields/lcd-shield-co...
http://www.labdegaragem.com.br/wiki/index.php?title=Color_Shield_LCD
http://www.sparkfun.com/products/9363
http://www.sparkfun.com/tutorials/286
https://github.com/downloads/jimblom/ColorLCDShield/ColorLCDShield-...
http://tronixstuff.wordpress.com/2011/02/07/tutorial-arduino-and-co...
http://peterdavenport.posterous.com/pages/prodjects
http://www.sparkfun.com/tutorial/Nokia%206100%20LCD%20Display%20Dri...
Comentar
Bom dia a todos ! em especial as Mãe!!
Consegui encontrar um conversor de BMP para HEX, que funciona, segue o links:
http://www.thaieasyelec.net/archives/Manual/bmp2h_conv.exe
http://www.thaieasyelec.net/index.php/arm/bluescreen-sun-lpc2478-wi...
Observação: O código Lab. Garagem é melhor do que da Sparkfun, então usem o código acima.
Até mais!!!
Senhores,
Tem que instalar o Python e a biblioteca PIL. Agora o problema é:
Traceback (most recent call last):
File "C:\Users\Usuario\Helton Castanheira\IME\Exoesqueleto\LCD\Logo_IME\Convert.py", line 14, in <module>
z=imopen.getpixel((x,y))
File "C:\Python26\lib\site-packages\PIL\Image.py", line 950, in getpixel
return self.im.getpixel(xy)
IndexError: image index out of range
Alguém tem uma opinião?
Obrigado pela ajuda Humberto,
Agora deu esse erro na variável PIL:
Traceback (most recent call last):
File "C:\Python33\Convert.py", line 1, in <module>
from PIL import Image
ImportError: No module named 'PIL'
Você tem esse arquivo de conversão funcionando? vc pode mandar para meu email ?
heltoncastanheira@yahoo.com.br
grato
Helton, tente colocar:
from PIL import Image
[]s
Humberto
Boa Noite ,
Preciso de ajuda no Python, notei que é preciso identar, mas depois dá esse erro:
Traceback (most recent call last):
File "C:\Python33\Logo_IME.py", line 1, in <module>
import Image
ImportError: No module named 'Image'
Alguém pode me ajudar ?
Ola, tenho o LCD mas gostaria de comprar apenas a placa, alguem sabe onde consigo ?
Aqui também dá erro: SyntaxError: multiple statements found while compiling a single statement.
Alguém já conseguiu usar no Python? Eu estou usando um bitmap 128x128.
a falta de RAM do arduino inviabiliza o uso mais "bacanudo" do display :P
A nao ser pra interfaces pre-definidas que caibam na memoria flash.
Sim eu reduzi a imagem para esse tamanho. O problema é com o PYTHON que não faz a conversão, no prompt de comando dá sempre um erro de syntax.
O prompt de comando que devo utilizar é o que está no programa PYTHON??
Qual a exigência de capacidade de processamento do MCU para uso com este tipo de display? Um MCU com 10Mips daria uma bom resultado?
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por
Você precisa ser um membro de Laboratorio de Garagem (arduino, eletrônica, robotica, hacking) para adicionar comentários!
Entrar em Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)