ԀI˥ℲOᙠᴚ∩⊥
🔍

µFOUR – the minimalist local multiplayer game console – RGB matrix version

run.h

void draw(){

     matrix.fillScreen(BLACK);

     if( sin( millis()*.08)>0 ){
        matrix.drawPixel(fx,fy,GRAY);
       
     }

    // draw gate ---------
    if(collision){

         
         matrix.fillCircle(gx,gy,2,DARK_RED);
         matrix.drawCircle(gx,gy,2,RED);
         


        if( sin( millis()*.08)>0 ){
            matrix.drawRect(0,0,16,16,DARK_RED);
          }

    }else{
      
      matrix.fillRect(gx-1,gy-1,2,2,RED);
    
    }
          // draw cursor --------------------------
       //matrix.drawPixel(pbx,pby,GRAY);
    
        if(collision_tick < 40){
        matrix.drawPixel(bx,by+1,WHITE);
    }


     if(collision_tick < 30){
        matrix.drawPixel(bx,by-1,WHITE);
    }

    if(collision_tick < 20){
        matrix.drawPixel(bx-1,by,WHITE);
    }

    if(collision_tick < 10){
        matrix.drawPixel(bx+1,by,WHITE);
    }
    matrix.drawPixel(bx,by,WHITE);


     
  pbx = bx;
  pby = by;


  //matrix.show();
    //return;

}



void run(){


  if(B_1.is_pressed){
    accx -= force_intense;
    accy -= force_intense;

   // Serial.println("B1");
  }

  if(B_2.is_pressed){
    accx += force_intense;
    accy -= force_intense;
   //Serial.println("B2");
  }

  if(B_3.is_pressed){
    accx -= force_intense;
    accy += force_intense;
   //Serial.println("B3");
  }

  if(B_4.is_pressed){
    accx += force_intense;
    accy += force_intense;
  // Serial.println("B4");
  }

  // add acc to ball position
  bx += accx;
  by += accy;

  accx *=.96;
  accy *=.96;

   //if( bx>15 || bx < 1 ){ accx *= -.01;}
   //if( by>15 || by < 1 ){ accy *= -.01;}
   if(by>16){by=16;}
   if(by<0){by=0;}
   if(bx>16){bx=16;}
   if(bx<0){bx=0;}
   


  // add centerforce ------------------------
 
  center_diff_x = 8-bx;
  center_diff_y = 8-by;

  center_diff_x *= .01;
  center_diff_y *= .01;

  bx += center_diff_x;
  by += center_diff_y;

  // add turbulence ------------------------

  turbx = sin(millis()*.00514);
  turby = sin(millis()*.00543);

  //bx += turbx *.1;
  //by += turby *.1;


  // -------------------------------
  // gate turbulence!
  float turbx2 = cos(millis()*.0022);
  float turby2 = cos(millis()*.0023);

  gx += turbx2*.01;
  gy += turby2*.01;

  // ----------------------------
  // gate attraction 
  float magneticx = bx - gx;
  float magneticy = by - gy;
  
  gx += magneticx * gate_attraction;
  gy += magneticy * gate_attraction;
  
  // constantly count magnetism up!
gate_attraction += .0002;

  //---------------------------------
  // collision behaviour
  float disti = get_dist();
  if(disti < 3){
      collision = true;
  }else{
      collision = false;
  }


   disti = get_food_dist(); 
    if(disti < 3){
        
        fx = random(16);
        fy = random(16);
        gate_attraction *=.66;
        playTone(11111);
        delay(22);
        noTone();
    }
  //

  //------------------------------------

  speed_radius +=.3;
  if( speed_radius> 10 ){ speed_radius = 0; }

    // --------------------------------------
    // --------  GAME OVER HERE
     // -----------------------------------
   if(collision_tick > 50){

        hiscore =  int( (millis() - run_timestamp ) / 500 );
        mode = 3;

    }


  if(collision){ playTone(int(1000+random(400))); }else{ noTone();}

     // -------------------------------
 // draw gate
  if(collision){
    //matrix.drawRect(gx-1.85,gy-1.85,3,3,RED);

    if(sin(millis()*.08)>0){
      //matrix.fillCircle(gx,gy,collision_tick*.01+2,BLACK);
    }else{
       //matrix.fillCircle(gx,gy,collision_tick*.01+2,RED);
    }

     
    
    collision_tick++;
  }else{
   // matrix.fillCircle(gx,gy,1,RED);
    
    collision_tick *= 0.9986;
  }



}

main.cpp

#include <Arduino.h>
#include <trxy_btn.h>
#include <Adafruit_NeoMatrix.h>


#define LIGHTBLUE 0x5e7c
#define WHITE 0xffff
#define BLACK 0x0000
#define GRAY 0x8C50
#define RED 0xF800
#define DARK_RED 0xA000
#define YELLOW 0xEEA0
#define FLIEDER 0x728F


uint16_t color_palette[] = {0xA000, 0xF800,0xFFFF,0x5E7C, 0xFD67, 0x728F, 0x0000};

 // define stag size
#define w 16
#define h 16

aBTN B_3(GPIO_NUM_32,false);
aBTN B_4(GPIO_NUM_33,false);
aBTN B_2(GPIO_NUM_34,false);
aBTN B_1(GPIO_NUM_35,false);

float bx = 8;
float by = 8;
float pbx = 0;
float pby = 0;
float accx = 0;
float accy = 0;
float turbx = 0;
float turby = 0;

float force_intense = .04;

float center_diff_x = 0;
float center_diff_y = 0;

bool collision = false;
int collision_tick = 0;

float speed_radius = 0;
int count_in_ticker =0 ;

int scoreshow_ticker = 0;
int main_score = 0;
float scrollx = 16;

float gate_attraction = .01;

long run_timestamp = 0;
int hiscore = 0;

float gx = 8;
float gy = 8;

int mode = 0;

float fx = 12;
float fy = 12;



Adafruit_NeoMatrix matrix = Adafruit_NeoMatrix(w, h, GPIO_NUM_13,
  NEO_MATRIX_TOP     + NEO_MATRIX_LEFT +
  NEO_MATRIX_COLUMNS + NEO_MATRIX_ZIGZAG,
  NEO_GRB            + NEO_KHZ800);


// ----------------------------------
float get_dist(){
   return abs(bx - gx) + abs( by - gy);
}

float get_food_dist(){
   return abs(bx - fx) + abs( by - fy);
}

int buzzer_pin = 15;



int buzz_freq = 2000;
int buzz_channel = 1;
int resolution = 8;

void noTone(){
  ledcWriteTone(buzz_channel,0);
}
void playTone(int _f){
  ledcWriteTone(buzz_channel,_f);
}

#include <run.h>
void setup() {
  
     //Serial.begin(9600);
    //Serial.println("----- INITALIZING ---------");
    //delay(100);
    matrix.begin();
    matrix.setBrightness(2);
    matrix.clear();

    ledcSetup(buzz_channel,buzz_freq,resolution);
    ledcAttachPin(12,buzz_channel);

    //ledcWriteTone(buzz_channel,3333);
    playTone(3333);
    delay(100);
    noTone();

}

void resetGame(){
   collision_tick = 0;
  scoreshow_ticker=0;
  main_score = 0;
  bx=8;
  by=8;
  run_timestamp = 0;
  gx = 1;
  gy = 1;
  gate_attraction = .01;
  matrix.setRotation(0);
  run_timestamp = millis(); 
}



void showScore(){

  scrollx -= .4;
  


  matrix.clear();
  matrix.setRotation(0);
  matrix.setBrightness(12);
  matrix.setTextWrap(false);
  matrix.setCursor(scrollx,9);
  matrix.setTextColor(YELLOW);
  matrix.print(hiscore);
  matrix.setRotation(2);

  matrix.setCursor(scrollx,9);
  matrix.setTextColor(LIGHTBLUE);
  matrix.print(hiscore);

  matrix.show();
  
  if(scrollx<-16){
      scrollx = 16;
  }

  scoreshow_ticker++;

  if(scoreshow_ticker>300){
    mode = 0;
  }

  delay(15);
  return;
}


void drawStats(){

 // for(int i=0;i<collision_tick/50;i++){

      matrix.drawLine(0,0,int(collision_tick/50),0,WHITE);
  //} 

}


void idleRun(){

    matrix.setBrightness(8);
  
    int s = random(4)+1;
    int x = random(8);
    int y = random(20)-2; 
    uint16_t hue = random(7);
    matrix.fillRect(x,y,s,s, color_palette[hue]);
    matrix.fillRect(16-x-s,y,s,s, color_palette[hue]); 
    matrix.show();

}

void loop() {

// operate all buttons ----------------------
  B_1.operateBUTTON();
  B_2.operateBUTTON();
  B_3.operateBUTTON();
  B_4.operateBUTTON();


  if(mode==0){

       idleRun(); 
       matrix.show();
    

      if( B_1.on_holded || B_2.on_holded || B_3.on_holded || B_4.on_holded){
        mode = 1;
        
        delay(22);
        
      }
      count_in_ticker = 0;
      delay(10);
      return;

  }  // end mode 0 -----------------------

  if(mode == 1){

    matrix.setPixelColor( count_in_ticker, matrix.gamma32(BLACK));
    matrix.setPixelColor( 256-count_in_ticker, matrix.gamma32(BLACK));



    matrix.show();

    count_in_ticker++;

    ledcWriteTone(buzz_channel,random(1400)+1000 );

    if(count_in_ticker>128){

      ledcWriteTone(buzz_channel,0);
      matrix.setBrightness(20);
      resetGame();
      mode = 2;
    }
    delay(4);
    return;

  } // end mode 1 -----------------------


 


  if(mode==3){
    showScore();
    noTone();
    return;
  }

  // ---------------------------
  // MAIN ------------- runmode

  if(mode==2){

     run();
     
     draw();
     //drawStats();
     matrix.show();
     delay(10);

    return;
  }
 
}

previous prototypes

first applied expample – the emoji workout

main.cpp

#include <Arduino.h>
#include <FastLED.h> // FastLED by Daniel Garcia
#include <Adafruit_NeoMatrix.h>
#include <sprites.h>

// define all constants here / setup

 // define stag size
#define w 16
#define h 16

// define spritesheet size
#define sw 272
#define sh 16

// define dimensions of our sprite brush
#define bw 16
#define bh 16
 
#define PIN 13

Adafruit_NeoMatrix matrix = Adafruit_NeoMatrix(w, h, PIN,
  NEO_MATRIX_TOP     + NEO_MATRIX_LEFT +
  NEO_MATRIX_COLUMNS + NEO_MATRIX_ZIGZAG,
  NEO_GRB            + NEO_KHZ800);


// ----------------------------------------------
// ----------------------------------------------
// ----------------------------------------------
  // we work with a 16x16 brush
uint16_t BUFFER_BRUSH[256]; // our 16x16 pixel brush

// update the BUFFERBRUSH --------------------
void updateBufferBrush(int _i){
  int i = 0;
  for(int y=0;y<bh;y++){
    for(int x=0;x<bw;x++){     
     BUFFER_BRUSH[i] = SMILEY_MAP[_i + x + y*sw]; 
     i++;
  }}
}
 
void setup() {
  // put your setup code here, to run once:
 
    delay(1000);
 
     matrix.begin();
     matrix.setBrightness(60);
     matrix.clear();
}

int animtick = 0;


void drawImage(){


  animtick++;
  if(animtick>30){
    animtick=0;
    int rspid = int(random(8));
    updateBufferBrush(rspid);
  }
 
}
 
 
// -------------------------------------------------
 
void loop() {

  drawImage();  
  matrix.clear();
   
  
   matrix.show();
   delay(10);
}

 
horizontal aligned spritesheet – 288×16

sprites.h

0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x5e7c, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x5e7c, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x5e7c, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x5e7c, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x2106, 0x2106, 0x2106, 0x2106, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x2106, 0x2106, 0x2106, 0x2106, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x2106, 0x2106, 0x2106, 0x2106, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x2106, 0x2106, 0x2106, 0x2106, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x2106, 0x2106, 0x2106, 0x2106, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x2106, 0x2106, 0x2106, 0x2106, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x5e7c, 0x0000, 0x5e7c, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x5e7c, 0x0000, 0x5e7c, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0x5e7c, 0x0000, 0x5e7c, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x5e7c, 0x0000, 0x5e7c, 0x0000, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x0000, 0x5e7c, 0x0000, 0x5e7c, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0x5e7c, 0x0000, 0x5e7c, 0x0000, 0x5e7c, 0x0000, 0x5e7c, 0x0000, 0x5e7c, 0x0000, 0x5e7c, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x5e7c, 0x0000, 0x5e7c, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x5e7c, 0x0000, 0x5e7c, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x5e7c, 0x0000, 0x5e7c, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x2106, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x2106, 0x5e7c, 0x5e7c, 0x2106, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x2106, 0x5e7c, 0x5e7c, 0x2106, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x2106, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xcedf, 0xcedf, 0xcedf, 0xcedf, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0xffff, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0xffff, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0xcedf, 0x0000, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0xcedf, 0x0000, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xdd0c, 0x5e7c, 0xdd0c, 0xdd0c, 0x5e7c, 0xdd0c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x0000, 0xffff, 0xffff, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0xffff, 0x0000, 0x5e7c, 0x0000, 0xffff, 0xffff, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0x0000, 0x0000, 0xffff, 0x0000, 0x0000, 0xffff, 0xffff, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xffff, 0xffff, 0xffff, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xffff, 0xffff, 0xffff, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0x0000, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0xcedf, 0x0000, 0xffff, 0xffff, 0xffff, 0xffff, 0x0000, 0x5e7c, 0xcedf, 0x0000, 0xffff, 0xffff, 0xffff, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0xffff, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0xffff, 0xffff, 0x0000, 0x5e7c, 0x0000, 0xffff, 0x0000, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0x0000, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x2106, 0x2106, 0x2106, 0x2106, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x2106, 0x2106, 0x2106, 0x2106, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0xffff, 0x0000, 0xffff, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0xffff, 0x0000, 0xffff, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0xffff, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0xffff, 0xffff, 0x0000, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffff, 0xffff, 0xffff, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0xffff, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x0000, 0xffff, 0x0000, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0x0000, 0x0000, 0x0000, 0xffff, 0x0000, 0x0000, 0xffff, 0x0000, 0x0000, 0x0000, 0xffff, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xffff, 0x0000, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x0000, 0x64df, 0x64df, 0x64df, 0x64df, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0x64df, 0x64df, 0x64df, 0x64df, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0xffff, 0x0000, 0xffff, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xffff, 0x0000, 0xffff, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0x0000, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0xcedf, 0x0000, 0xffff, 0xffff, 0x0000, 0xffff, 0x0000, 0x5e7c, 0xcedf, 0x0000, 0xffff, 0xffff, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x0000, 0xffff, 0xffff, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x3310, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x3310, 0x5e7c, 0x5e7c, 0x3310, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x3310, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0x0000, 0x0000, 0xffff, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0x0000, 0x0000, 0xffff, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x0000, 0x0013, 0x0000, 0x0000, 0x0000, 0x0013, 0x0000, 0x0000, 0x0000, 0x0000, 0x0013, 0x0000, 0x0000, 0x0000, 0x0013, 0x0000, 0x0000, 0xffff, 0xffff, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x0000, 0xffff, 0x0000, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0x0000, 0x0000, 0x0000, 0xffff, 0x0000, 0x0000, 0xffff, 0x64df, 0x64df, 0x64df, 0xffff, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x64df, 0x64df, 0x64df, 0x64df, 0xffff, 0x0000, 0x5e7c, 0x64df, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x64df, 0x5e7c, 0x5e7c, 0x64df, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x64df, 0x5e7c, 0x5e7c, 0x5e7c, 0xffff, 0x0000, 0xffff, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xffff, 0x0000, 0xffff, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5e7c, 0xcedf, 0x0000, 0xffff, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0xcedf, 0x0000, 0xffff, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x0000, 0xffff, 0xffff, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0xdaac, 0xa986, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xcedf, 0xcedf, 0xcedf, 0xcedf, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xcedf, 0xcedf, 0xcedf, 0xcedf, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0x0000, 0x0000, 0xffff, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0x0000, 0x0000, 0xffff, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0xffff, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0xffff, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x0000, 0x0000, 0x0013, 0x0013, 0x0013, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0013, 0x0013, 0x0013, 0x0000, 0x0000, 0x0000, 0xffff, 0x0000, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0x0000, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x0000, 0xffff, 0xffff, 0xffff, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0xffff, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0xffff, 0xffff, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x64df, 0x64df, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xffff, 0x0000, 0xffff, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xffff, 0x0000, 0xffff, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xcedf, 0x0000, 0xffff, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0xcedf, 0x0000, 0xffff, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x0000, 0xffff, 0x0000, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0x0000, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0xdaac, 0xa986, 0xa986, 0xa986, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0xcedf, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xcedf, 0x5e7c, 0x5e7c, 0xcedf, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xcedf, 0x5e7c, 0x5e7c, 0x64df, 0x0000, 0xffff, 0xffff, 0x0000, 0x64df, 0x5e7c, 0x5e7c, 0x64df, 0x0000, 0xffff, 0xffff, 0x0000, 0x64df, 0x5e7c, 0x5e7c, 0x64df, 0x0000, 0xffff, 0xffff, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x64df, 0x0000, 0xffff, 0xffff, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x64df, 0x0000, 0xffff, 0xffff, 0x0000, 0x64df, 0x5e7c, 0x5e7c, 0x64df, 0x0000, 0xffff, 0xffff, 0x0000, 0x64df, 0x5e7c, 0x5e7c, 0x64df, 0x0000, 0x0000, 0x0000, 0x0000, 0x64df, 0x5e7c, 0x5e7c, 0x64df, 0x0000, 0x0000, 0x0000, 0x0000, 0x64df, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffff, 0x0000, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0x0000, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x0000, 0xffff, 0xffff, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0xffff, 0x5e7c, 0x5e7c, 0xdaac, 0xdaac, 0xdaac, 0xdaac, 0xa986, 0xa986, 0xa986, 0xa986, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xffff, 0x0000, 0xffff, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xffff, 0x0000, 0xffff, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0xffff, 0xffff, 0x0000, 0x5e7c, 0xcedf, 0x0000, 0xffff, 0xffff, 0xffff, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0xffff, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0xffff, 0xffff, 0x0000, 0x5e7c, 0x0000, 0xffff, 0x0000, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0x0000, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0xa986, 0xffff, 0xffff, 0xa986, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x64df, 0x0000, 0x0000, 0x64df, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x64df, 0x0000, 0x0000, 0x64df, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x64df, 0x0000, 0x0000, 0x0000, 0x64df, 0x5e7c, 0x5e7c, 0x5e7c, 0x64df, 0x0000, 0x0000, 0x0000, 0x64df, 0x5e7c, 0x5e7c, 0x5e7c, 0x64df, 0x0000, 0x0000, 0x64df, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x64df, 0x0000, 0x0000, 0x64df, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x64df, 0x0000, 0x0000, 0x64df, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x64df, 0x0000, 0x0000, 0x64df, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffff, 0x0000, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0x0000, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x64df, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x64df, 0x0000, 0x0000, 0x0000, 0x64df, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xdaac, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xa986, 0xa986, 0xa986, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa986, 0xa986, 0xa986, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xffff, 0xffff, 0xffff, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xffff, 0xffff, 0xffff, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0x5e7c, 0x5e7c, 0x5e7c, 0x5b7c, 0x0000, 0x0000, 0x0000, 0x0000, 0x5b7c, 0x5e7c, 0x5e7c, 0x5b7c, 0x0000, 0x0000, 0x0000, 0x0000, 0x5b7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5e7c, 0xee13, 0x0000, 0xffff, 0xffff, 0xffff, 0x0000, 0xee13, 0x5e7c, 0x5e7c, 0xee13, 0x0000, 0xffff, 0xffff, 0xffff, 0x0000, 0xee13, 0x5e7c, 0x5e7c, 0x83f0, 0x83f0, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x83f0, 0x83f0, 0x83f0, 0x83f0, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0xa986, 0x0000, 0x0000, 0xa986, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xdaac, 0xdaac, 0xa986, 0xa986, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x64df, 0x64df, 0x5e7c, 0xdaac, 0xdaac, 0xa986, 0xa986, 0x5e7c, 0x64df, 0x64df, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x64df, 0x64df, 0x64df, 0xdaac, 0xdaac, 0xa986, 0xa986, 0x5e7c, 0x64df, 0x64df, 0x64df, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x64df, 0x64df, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x64df, 0x64df, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x64df, 0x64df, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x64df, 0x64df, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x64df, 0x0000, 0xffff, 0xffff, 0xffff, 0x0000, 0x64df, 0x5e7c, 0x5e7c, 0x64df, 0x0000, 0xffff, 0xffff, 0xffff, 0x0000, 0x64df, 0x5e7c, 0x5e7c, 0x64df, 0x64df, 0x64df, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x64df, 0x64df, 0x64df, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xdaac, 0xdaac, 0xdaac, 0xdaac, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xdaac, 0xa986, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xa986, 0xa986, 0x5e7c, 0x5e7c, 0x5e7c, 0xa986, 0xa986, 0x0000, 0x0000, 0xdaac, 0xdaac, 0xdaac, 0xdaac, 0xdaac, 0xdaac, 0x0000, 0x0000, 0x61c6, 0x61c6, 0x5e7c, 0x5e7c, 0x5e7c, 0x64df, 0x64df, 0x64df, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x64df, 0x64df, 0x64df, 0x5e7c, 0x5e7c, 0x5e7c, 0xa986, 0x61c6, 0x0000, 0xffff, 0xffff, 0x0000, 0xffff, 0xffff, 0x0000, 0xffff, 0xffff, 0x0000, 0x61c6, 0xa986, 0x5e7c, 0x5e7c, 0x5e7c, 0x5b7c, 0x5b7c, 0x5b7c, 0x5b7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5b7c, 0x5b7c, 0x5b7c, 0x5b7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x64df, 0xee13, 0x0000, 0x0000, 0x0000, 0xee13, 0x64df, 0x5e7c, 0x5e7c, 0x64df, 0xee13, 0x0000, 0x0000, 0x0000, 0xee13, 0x64df, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0xa986, 0x0000, 0x0000, 0xa986, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xdaac, 0xa986, 0x0000, 0x0000, 0xdaac, 0xa986, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xdaac, 0xa986, 0x0000, 0x0000, 0xdaac, 0xa986, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xdaac, 0xa986, 0x0000, 0x0000, 0xdaac, 0xa986, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xdaac, 0xdaac, 0xa986, 0xa986, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xdaac, 0xdaac, 0xa986, 0xa986, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0013, 0x0013, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x64df, 0x0000, 0x0000, 0x0000, 0x64df, 0x64df, 0x5e7c, 0x5e7c, 0x5e7c, 0x64df, 0x0000, 0x0000, 0x0000, 0x64df, 0x5e7c, 0x5e7c, 0xa986, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa986, 0x5e7c, 0x5e7c, 0x5e7c, 0xdaac, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xa986, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xa986, 0x5e7c, 0x5e7c, 0x5e7c, 0xa986, 0xa986, 0xdaac, 0xdaac, 0x61c6, 0x61c6, 0x61c6, 0x61c6, 0x61c6, 0x61c6, 0xdaac, 0xdaac, 0x61c6, 0x61c6, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xa986, 0xa986, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xdaac, 0xa986, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xdaac, 0xdaac, 0xdaac, 0xdaac, 0xdaac, 0xdaac, 0xdaac, 0xdaac, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x64df, 0xee13, 0xee13, 0xee13, 0x64df, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x64df, 0xee13, 0xee13, 0xee13, 0x64df, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0xa986, 0x0000, 0x0000, 0xa986, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0xee13, 0xdd0c, 0x5e7c, 0x5e7c, 0xa986, 0xa986, 0xdaac, 0xdaac, 0xa986, 0x61c6, 0x5e7c, 0x5e7c, 0xee13, 0xdd0c, 0x5e7c, 0x5e7c, 0xee13, 0xdd0c, 0x5e7c, 0x5e7c, 0xa986, 0xa986, 0xdaac, 0xdaac, 0xa986, 0x61c6, 0x5e7c, 0x5e7c, 0xee13, 0xdd0c, 0x5e7c, 0x5e7c, 0xee13, 0xdd0c, 0x5e7c, 0x5e7c, 0xa986, 0xa986, 0xdaac, 0xdaac, 0xa986, 0x61c6, 0x5e7c, 0x5e7c, 0xee13, 0xdd0c, 0x5e7c, 0x5e7c, 0xee13, 0xdd0c, 0x5e7c, 0x5e7c, 0xdaac, 0xa986, 0x0000, 0x0000, 0xa986, 0xa986, 0x5e7c, 0x5e7c, 0xee13, 0xdd0c, 0x5e7c, 0x5e7c, 0xee13, 0xdd0c, 0x5e7c, 0x5e7c, 0xdaac, 0xa986, 0x0000, 0x0000, 0xa986, 0xa986, 0x5e7c, 0x5e7c, 0xee13, 0xdd0c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x64df, 0x64df, 0x64df, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x64df, 0x64df, 0x64df, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0xa986, 0x0000, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x0000, 0xa986, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xa986, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xdaac, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x61c6, 0x61c6, 0x61c6, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x61c6, 0x61c6, 0x61c6, 0x61c6, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xa986, 0xdaac, 0xdaac, 0xdaac, 0xdaac, 0xdaac, 0xdaac, 0xdaac, 0xdaac, 0xdaac, 0xdaac, 0x61c6, 0x5e7c, 0x5e7c, 0x5e7c, 0xee13, 0xee13, 0x5e7c, 0x5e7c, 0xdaac, 0xdaac, 0xdaac, 0xdaac, 0xdaac, 0xa986, 0x5e7c, 0x5e7c, 0xee13, 0xee13, 0x5e7c, 0x5e7c, 0xee13, 0xee13, 0x5e7c, 0xdaac, 0x0000, 0xffff, 0xffff, 0xffff, 0xffff, 0x0000, 0xa986, 0x5e7c, 0xee13, 0xee13, 0x5e7c, 0x5e7c, 0x5e7c, 0x64df, 0x64df, 0x64df, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x64df, 0x64df, 0x64df, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x64df, 0x64df, 0x5e7c, 0x5e7c, 0xa986, 0x0000, 0x0000, 0xdaac, 0x5e7c, 0x5e7c, 0x64df, 0x64df, 0x5e7c, 0x5e7c, 0x5e7c, 0xdd0c, 0xdd0c, 0x5e7c, 0x5e7c, 0x64df, 0xa986, 0x61c6, 0x61c6, 0x61c6, 0x64df, 0x5e7c, 0x5e7c, 0xdd0c, 0xdd0c, 0x5e7c, 0x5e7c, 0xdd0c, 0xdd0c, 0x5e7c, 0x5e7c, 0x64df, 0xa986, 0x61c6, 0x61c6, 0x61c6, 0x64df, 0x5e7c, 0x5e7c, 0xdd0c, 0xdd0c, 0x5e7c, 0x5e7c, 0xdd0c, 0xdd0c, 0x5e7c, 0x5e7c, 0x64df, 0xa986, 0x61c6, 0x61c6, 0x61c6, 0x64df, 0x5e7c, 0x5e7c, 0xdd0c, 0xdd0c, 0x5e7c, 0x5e7c, 0xdd0c, 0xdd0c, 0x5e7c, 0x5e7c, 0xa986, 0xa986, 0xa986, 0xa986, 0xdaac, 0x61c6, 0x5e7c, 0x5e7c, 0xdd0c, 0xdd0c, 0x5e7c, 0x5e7c, 0xdd0c, 0xdd0c, 0x5e7c, 0x5e7c, 0xa986, 0xa986, 0xa986, 0xa986, 0xdaac, 0x61c6, 0x5e7c, 0x5e7c, 0xdd0c, 0xdd0c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xee13, 0xdd0c, 0x5e7c, 0x5e7c, 0xdaac, 0xdaac, 0xdaac, 0xdaac, 0xa986, 0xa986, 0xa986, 0xa986, 0x5e7c, 0x5e7c, 0xee13, 0xdd0c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0xa986, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x61c6, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xa986, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xdaac, 0xdaac, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x61c6, 0x61c6, 0x61c6, 0x61c6, 0x61c6, 0x61c6, 0x61c6, 0x61c6, 0x61c6, 0x61c6, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xee13, 0xee13, 0x5e7c, 0x5e7c, 0xa986, 0x0000, 0x0000, 0x0000, 0x0000, 0xa986, 0x5e7c, 0x5e7c, 0xee13, 0xee13, 0x5e7c, 0x5e7c, 0xee13, 0xee13, 0x5e7c, 0xa986, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x61c6, 0x5e7c, 0xee13, 0xee13, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xa986, 0xdaac, 0xdaac, 0x61c6, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x64df, 0x64df, 0x5e7c, 0x5e7c, 0x5e7c, 0x64df, 0x64df, 0x64df, 0x64df, 0x5e7c, 0x5e7c, 0x5e7c, 0x64df, 0x64df, 0x5e7c, 0x5e7c, 0x64df, 0x64df, 0x5e7c, 0x5e7c, 0x5e7c, 0x64df, 0x64df, 0x64df, 0x64df, 0x5e7c, 0x5e7c, 0x5e7c, 0x64df, 0x64df, 0x5e7c, 0x5e7c, 0x64df, 0x64df, 0x5e7c, 0x5e7c, 0x5e7c, 0x64df, 0x64df, 0x64df, 0x64df, 0x5e7c, 0x5e7c, 0x5e7c, 0x64df, 0x64df, 0x5e7c, 0x5e7c, 0x64df, 0x64df, 0x5e7c, 0x5e7c, 0x64df, 0xa986, 0x61c6, 0x61c6, 0x61c6, 0x64df, 0x5e7c, 0x5e7c, 0x64df, 0x64df, 0x5e7c, 0x5e7c, 0x64df, 0x64df, 0x5e7c, 0x5e7c, 0x64df, 0xa986, 0x61c6, 0x61c6, 0x61c6, 0x64df, 0x5e7c, 0x5e7c, 0x64df, 0x64df, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xdd0c, 0xdd0c, 0x5e7c, 0xa986, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xa986, 0x5e7c, 0xdd0c, 0xdd0c, 0x5e7c, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0x61c6, 0x61c6, 0x61c6, 0x61c6, 0x61c6, 0x61c6, 0x61c6, 0x61c6, 0x5e7c, 0x5e7c, 0x5e7c, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0x61c6, 0x61c6, 0x61c6, 0x61c6, 0x61c6, 0x61c6, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0xdaac, 0xdaac, 0xdaac, 0xdaac, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xa986, 0xa986, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xa986, 0xa986, 0xa986, 0x61c6, 0x61c6, 0x61c6, 0x61c6, 0x61c6, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xa986, 0xa986, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x61c6, 0x61c6, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x64df, 0x64df, 0x64df, 0x64df, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x64df, 0x64df, 0x64df, 0x64df, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x64df, 0x64df, 0x5e7c, 0xa986, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xdaac, 0x5e7c, 0x64df, 0x64df, 0x5e7c, 0x5e7c, 0x5e7c, 0x64df, 0x64df, 0x64df, 0x64df, 0x64df, 0x64df, 0x64df, 0x64df, 0x64df, 0x64df, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5b7c, 0x5b7c, 0x5b7c, 0x5b7c, 0x5b7c, 0x5b7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c

minimal animated sprite setup

Running pixel graphics based animations on the 16×16 matrix is unfortunately not that straight forward. We have to fall back to best practice „oldschool“ approach to realize this – as we need to deal with spritesheets converted to c++ array. Yeah! As one quick proof of concept we pick this simple 128×48 pixel graphics, that contains several phases of one character pixel animation – each with a 16×16 range. This graphic can be downloaded from OPEN GAME ART.

Now, we simply convert this graphics in C++ readable format with the help of a tool called LCD Image Converter – The graphics need to be in RGB and 16bit format to be readable with the Adafruit Neopixel Lib.

#include <Arduino.h>
#include <FastLED.h> // FastLED by Daniel Garcia
#include <Adafruit_NeoMatrix.h>
#include <trx_btn.h>


#define TRANSPARENT_COLOR  0xf8e4

#define WHITE 0xffff
#define BLACK 0x0000
  
//static const uint16_t BUFFER[];

 // 124 x 48
static const uint16_t SMILEY_MAP[] PROGMEM = {
 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0x0000, 0xef16, 0xef16, 0x0000, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0x0000, 0xef16, 0xef16, 0x0000, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0x0000, 0xef16, 0xef16, 0x0000, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0x0000, 0xef16, 0xef16, 0x0000, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0x0000, 0xef16, 0xef16, 0x0000, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0x0000, 0xef16, 0xef16, 0x0000, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0x0000, 0xef16, 0xef16, 0x0000, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0x0000, 0xef16, 0xef16, 0x0000, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x2138, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2138, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x2138, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2138, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x2138, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2138, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x2138, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2138, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xc618, 0x2138, 0x2138, 0x2138, 0x0000, 0x0000, 0x2138, 0x2138, 0x2138, 0xc618, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x2138, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xc618, 0x2138, 0x2138, 0x2138, 0x0000, 0x0000, 0x2138, 0x2138, 0x2138, 0xc618, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2138, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xc618, 0x2138, 0x2138, 0x2138, 0x0000, 0x0000, 0x2138, 0x2138, 0x2138, 0xc618, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x2138, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xc618, 0x2138, 0x2138, 0x2138, 0x0000, 0x0000, 0x2138, 0x2138, 0x2138, 0xc618, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2138, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xc618, 0x0000, 0x2138, 0x2138, 0x2138, 0x2138, 0x2138, 0x2138, 0x0000, 0xc618, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xc618, 0x2138, 0x2138, 0x2138, 0x0000, 0x0000, 0x2138, 0x2138, 0x0000, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xc618, 0x0000, 0x2138, 0x2138, 0x2138, 0x2138, 0x2138, 0x2138, 0x0000, 0xc618, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0x0000, 0x2138, 0x2138, 0x0000, 0x0000, 0x2138, 0x2138, 0x2138, 0xc618, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xc618, 0x0000, 0x18f2, 0x2138, 0x2138, 0x2138, 0x2138, 0x18f2, 0x0000, 0xc618, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xc618, 0x2138, 0x2138, 0x2138, 0x0000, 0x0000, 0x2138, 0x0000, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xc618, 0x0000, 0x18f2, 0x2138, 0x2138, 0x2138, 0x2138, 0x18f2, 0x0000, 0xc618, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0x0000, 0x2138, 0x0000, 0x0000, 0x2138, 0x2138, 0x2138, 0xc618, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0x0000, 0x18f2, 0x2138, 0x2138, 0x2138, 0x2138, 0x18f2, 0x0000, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0x0000, 0x18f2, 0x2138, 0x2138, 0x2138, 0x2138, 0x2138, 0x0000, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0x0000, 0x18f2, 0x2138, 0x2138, 0x2138, 0x2138, 0x18f2, 0x0000, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0x0000, 0x2138, 0x2138, 0x2138, 0x2138, 0x2138, 0x18f2, 0x0000, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0x0000, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x0000, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xc618, 0x0000, 0x18f2, 0x2138, 0x2138, 0x2138, 0x18f2, 0x0000, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0x0000, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x0000, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0x0000, 0x18f2, 0x2138, 0x2138, 0x2138, 0x18f2, 0x0000, 0xc618, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0x0000, 0xc618, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0xc618, 0x0000, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0x0000, 0xc618, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0xc618, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0x0000, 0xc618, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0xc618, 0x0000, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0xc618, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0xc618, 0x0000, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0x0000, 0xc618, 0xc618, 0xc618, 0xc618, 0xc618, 0xc618, 0x0000, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0x0000, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x0000, 0x0000, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0x0000, 0xc618, 0xc618, 0xc618, 0xc618, 0xc618, 0xc618, 0x0000, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0x0000, 0x0000, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x0000, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xc618, 0x0000, 0x0000, 0xc618, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0x0000, 0x0000, 0xc618, 0xc618, 0x0000, 0x0000, 0x9bc0, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xc618, 0x0000, 0x0000, 0xc618, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x9bc0, 0x0000, 0x0000, 0xc618, 0xc618, 0x0000, 0x0000, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xc618, 0x0000, 0x0000, 0xc618, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0x0000, 0x0000, 0xc618, 0xc618, 0x0000, 0x0000, 0x9bc0, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xc618, 0x0000, 0x0000, 0xc618, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x9bc0, 0x0000, 0x0000, 0xc618, 0xc618, 0x0000, 0x0000, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x9bc0, 0x9bc0, 0x0000, 0x0000, 0x9bc0, 0x9bc0, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x9bc0, 0x9bc0, 0x0000, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x9bc0, 0x9bc0, 0x0000, 0x0000, 0x9bc0, 0x9bc0, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0x0000, 0x9bc0, 0x9bc0, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x9bc0, 0x9bc0, 0x0000, 0x0000, 0x9bc0, 0x9bc0, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x9bc0, 0x9bc0, 0x0000, 0x0000, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x9bc0, 0x9bc0, 0x0000, 0x0000, 0x9bc0, 0x9bc0, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0x0000, 0x0000, 0x9bc0, 0x9bc0, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x9bc0, 0x9bc0, 0x0000, 0x0000, 0x9bc0, 0x9bc0, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x9bc0, 0x9bc0, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x9bc0, 0x9bc0, 0x0000, 0x0000, 0x9bc0, 0x9bc0, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x9bc0, 0x9bc0, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x9bc0, 0x9bc0, 0x0000, 0x0000, 0x9bc0, 0x9bc0, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x9bc0, 0x9bc0, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x9bc0, 0x9bc0, 0x0000, 0x0000, 0x9bc0, 0x9bc0, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x9bc0, 0x9bc0, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0x18f2, 0x18f2, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0x18f2, 0x18f2, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0x18f2, 0x18f2, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0x18f2, 0x18f2, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x2138, 0x0000, 0x0000, 0x2138, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x2138, 0x18f2, 0x0000, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x2138, 0x0000, 0x0000, 0x2138, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x2138, 0x18f2, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0x18f2, 0x2138, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0x2138, 0x0000, 0x0000, 0x2138, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0x0000, 0x18f2, 0x2138, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0x2138, 0x0000, 0x0000, 0x2138, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x2138, 0x2138, 0x0000, 0x0000, 0xc618, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0xc618, 0x2138, 0x2138, 0x2138, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x2138, 0x2138, 0x2138, 0x0000, 0x0000, 0xc618, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x2138, 0x2138, 0x2138, 0xc618, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0xc618, 0x2138, 0x2138, 0x2138, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xc618, 0x0000, 0x0000, 0x2138, 0x2138, 0x2138, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0x2138, 0x2138, 0x2138, 0xc618, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xc618, 0x0000, 0x0000, 0x2138, 0x2138, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x2138, 0x0000, 0xef16, 0xef16, 0xc618, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0x0000, 0x2138, 0x2138, 0x18f2, 0x0000, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xef16, 0x2138, 0x0000, 0xef16, 0xef16, 0xc618, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0x0000, 0x2138, 0x2138, 0x2138, 0x0000, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0x0000, 0x2138, 0x2138, 0x2138, 0x0000, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xc618, 0xef16, 0xef16, 0x0000, 0x2138, 0xef16, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0x0000, 0x18f2, 0x2138, 0x2138, 0x0000, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xc618, 0xef16, 0xef16, 0x0000, 0x2138, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x18f2, 0x0000, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0x0000, 0x18f2, 0x18f2, 0x18f2, 0x0000, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xef16, 0x18f2, 0x0000, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0x0000, 0x18f2, 0x18f2, 0x18f2, 0x0000, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0x0000, 0x18f2, 0x18f2, 0x18f2, 0x0000, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0x0000, 0x18f2, 0xef16, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0x0000, 0x18f2, 0x18f2, 0x18f2, 0x0000, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0x0000, 0x18f2, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xc618, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0xc618, 0x0000, 0x0000, 0xc618, 0xc618, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xc618, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0xc618, 0x0000, 0x0000, 0xc618, 0x0000, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0x0000, 0xc618, 0x0000, 0x0000, 0xc618, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0xc618, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0xc618, 0xc618, 0x0000, 0x0000, 0xc618, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0xc618, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x9bc0, 0x9bc0, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x9bc0, 0x9bc0, 0x0000, 0x0000, 0x9bc0, 0x9bc0, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x9bc0, 0x9bc0, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x9bc0, 0x9bc0, 0x0000, 0x0000, 0x0000, 0x9bc0, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x9bc0, 0x0000, 0x0000, 0x0000, 0x9bc0, 0x9bc0, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x9bc0, 0x9bc0, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x9bc0, 0x9bc0, 0x0000, 0x0000, 0x9bc0, 0x9bc0, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x9bc0, 0x9bc0, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x9bc0, 0x9bc0, 0x9bc0, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x9bc0, 0x9bc0, 0x9bc0, 0x0000, 0x9bc0, 0x9bc0, 0x9bc0, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x9bc0, 0x9bc0, 0x9bc0, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x9bc0, 0x9bc0, 0x9bc0, 0x0000, 0x0000, 0x9bc0, 0x9bc0, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x9bc0, 0x9bc0, 0x0000, 0x0000, 0x9bc0, 0x9bc0, 0x9bc0, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x9bc0, 0x9bc0, 0x9bc0, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x9bc0, 0x9bc0, 0x9bc0, 0x0000, 0x9bc0, 0x9bc0, 0x9bc0, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x9bc0, 0x9bc0, 0x9bc0, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0xef16, 0xef16, 0x0000, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0xef16, 0xef16, 0x0000, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0x0000, 0x0000, 0xef16, 0xef16, 0x0000, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0x0000, 0xef16, 0xef16, 0x0000, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0x0000, 0xef16, 0xef16, 0x0000, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0x0000, 0xc618, 0x0000, 0xef16, 0x0000, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0x0000, 0xef16, 0xef16, 0x0000, 0xef16, 0xef16, 0x0000, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0x0000, 0xef16, 0xef16, 0x0000, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0x0000, 0xc618, 0x0000, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0x0000, 0x0000, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0xc618, 0x0000, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xc618, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0x0000, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x2138, 0x18f2, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0x0000, 0xc618, 0x0000, 0x0000, 0x2138, 0x18f2, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0xc618, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0xc618, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2138, 0xc618, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0x0000, 0xc618, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x2138, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x2138, 0x2138, 0x2138, 0xc618, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2138, 0x2138, 0x2138, 0xc618, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x18f2, 0x0000, 0x2138, 0x2138, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x2138, 0x0000, 0xc618, 0xc618, 0xc618, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0x0000, 0x2138, 0x2138, 0x0000, 0x0000, 0x2138, 0x2138, 0x2138, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0x0000, 0x2138, 0x2138, 0x0000, 0x0000, 0x2138, 0x2138, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x2138, 0x2138, 0x0000, 0x0000, 0x2138, 0x0000, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xc618, 0x0000, 0x0000, 0x0000, 0x0000, 0x2138, 0x0000, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x2138, 0x2138, 0x2138, 0x0000, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x2138, 0x2138, 0x2138, 0x0000, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x2138, 0x2138, 0x2138, 0x2138, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x2138, 0x2138, 0x0000, 0x0000, 0x0000, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0x0000, 0x2138, 0x2138, 0x2138, 0x2138, 0x2138, 0x18f2, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0x0000, 0x2138, 0x2138, 0x2138, 0x2138, 0x2138, 0x18f2, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x18f2, 0x2138, 0x2138, 0x2138, 0x18f2, 0x0000, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xc618, 0x0000, 0x0000, 0x2138, 0x2138, 0x18f2, 0x0000, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x18f2, 0x18f2, 0x18f2, 0x0000, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x18f2, 0x18f2, 0x18f2, 0x0000, 0xef16, 0xef16, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x0000, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0xc618, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0xc618, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0xc618, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0xc618, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x0000, 0x0000, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0x0000, 0x18f2, 0x0000, 0x0000, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0xc618, 0x0000, 0x0000, 0xc618, 0x0000, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0xc618, 0x0000, 0x0000, 0xc618, 0x0000, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xc618, 0x0000, 0x0000, 0xc618, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xc618, 0x0000, 0x0000, 0xc618, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x9bc0, 0x9bc0, 0x0000, 0xc618, 0xc618, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x9bc0, 0x9bc0, 0x0000, 0xc618, 0xc618, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0xc618, 0xc618, 0x0000, 0x0000, 0x9bc0, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0xef16, 0xef16, 0x0000, 0x0000, 0x0000, 0x9bc0, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x9bc0, 0x9bc0, 0x0000, 0x0000, 0x0000, 0x9bc0, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x9bc0, 0x9bc0, 0x0000, 0x0000, 0x0000, 0x9bc0, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x9bc0, 0x0000, 0x0000, 0x0000, 0x9bc0, 0x9bc0, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x9bc0, 0x0000, 0x0000, 0x0000, 0x9bc0, 0x9bc0, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0x0000, 0x9bc0, 0x9bc0, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0x0000, 0x9bc0, 0x9bc0, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x9bc0, 0x9bc0, 0x0000, 0x0000, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x0000, 0x9bc0, 0x0000, 0x0000, 0x0000, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x9bc0, 0x9bc0, 0x9bc0, 0x0000, 0x0000, 0x9bc0, 0x9bc0, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x9bc0, 0x9bc0, 0x9bc0, 0x0000, 0x0000, 0x9bc0, 0x9bc0, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x9bc0, 0x9bc0, 0x0000, 0x0000, 0x9bc0, 0x9bc0, 0x9bc0, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x9bc0, 0x9bc0, 0x0000, 0x0000, 0x9bc0, 0x9bc0, 0x9bc0, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x9bc0, 0x9bc0, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x9bc0, 0x9bc0, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x9bc0, 0x9bc0, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0x0000, 0x9bc0, 0x9bc0, 0x0000, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4, 0xf8e4 
  };
 
 
int anim_table_off_x = 4;
int anim_table_off_y = 0;

int text_scroll = 0; // text scrolling pointer
int mode = 0;
  
#define w 16
#define h 16
  
#define PIN 13
  
Adafruit_NeoMatrix matrix = Adafruit_NeoMatrix(w, h, PIN,
  NEO_MATRIX_TOP     + NEO_MATRIX_LEFT +
  NEO_MATRIX_COLUMNS + NEO_MATRIX_ZIGZAG,
  NEO_GRB            + NEO_KHZ800);


// BUTTON SETUP

aBTN btn1(5,false); // init button 1 on digipin 2
aBTN btn2(18,false);  // init button 2 on digipin 4

aBTN btn3(21,false); // init button 1 on digipin 2
aBTN btn4(19,false);  // init button 2 on digipin 4

void prepareBuffers(){

   // todo > transparency color stuff!
}

  
void setup() {
  // put your setup code here, to run once:
  
    delay(100);
  
     matrix.begin();
     matrix.setBrightness(60);
     matrix.clear();

     prepareBuffers();

}
 
int animtick = 0;
 
 
void drawImage(){
 
 
  animtick++;
  if(animtick>3){
    animtick=0;
  }
  
  float xpos = animtick*16;
  float ypos = 0;//sin(millis()*.003)*66+160;

  xpos += sin(millis()*.0063)*2+1;
  ypos += sin(millis()*.0033)*2+1;

  //matrix.drawRGBBitmap(int(-xpos)-anim_table_off_x*16,int(ypos)-anim_table_off_y*16-1, SMILEY_MAP,128,48);

  matrix.drawRGBBitmap(int(-xpos)-anim_table_off_x*16,int(ypos)-anim_table_off_y*16-1, SMILEY_MAP,128,48);


 
}
  
  
// -------------------------------------------------
  
void loop() {

// ---- operate all buttons in parallel
// -------------------------------
    btn1.operateBUTTON();
    btn2.operateBUTTON();
    btn3.operateBUTTON();
    btn4.operateBUTTON();
    

    if(btn1.on_pressed){
      anim_table_off_x = 0;
      anim_table_off_y = 0;
      mode = 0;
    }

    if(btn2.on_pressed){
      anim_table_off_x = 4;
      anim_table_off_y = 0;
      mode = 0;
    }

     if(btn3.on_pressed){
      anim_table_off_x = 0;
      anim_table_off_y = 1;
      mode = 1;
    }

    if(btn4.on_pressed){
      anim_table_off_x = 4;
      anim_table_off_y = 1;
      mode = 1;
    }


   //matrix.clear();
   //drawColorNoise(); 


  if(mode==0){
  drawImage();
  }else if (mode==1){

      matrix.fillScreen(WHITE);
      matrix.setCursor(text_scroll,4);
      matrix.setTextColor(BLACK);
      matrix.setTextWrap(false);
      matrix.print("Why run all the time?");

      text_scroll--;
      if(text_scroll<-140){
        text_scroll = 16;
      }

  }
 

   matrix.show();
  delay(30);
}

first approach

ESP32 + 16×16 RGB LED MATRIX

#include <FastLED.h> // FastLED by Daniel Garcia
#include <Adafruit_GFX.h>
#include <Adafruit_NeoMatrix.h>
#include <Adafruit_NeoPixel.h>
  
// what is it we can draw?
// https://learn.adafruit.com/adafruit-gfx-graphics-library/graphics-primitives

  

const unsigned short ASTRO[256] PROGMEM={
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x01F5, 0x01F5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,   // 0x0010 (16) pixels
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xE678, 0xFFFF, 0x01F5, 0x01F5, 0xFFFF, 0xE678, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,   // 0x0020 (32) pixels
0x0000, 0x0000, 0x0000, 0x0000, 0xE678, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xE678, 0x0000, 0x0000, 0x0000, 0x0000,   // 0x0030 (48) pixels
0x0000, 0x0000, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0x01F5, 0x01F5, 0x01F5, 0x01F5, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0x0000, 0x0000,   // 0x0040 (64) pixels
0x0000, 0x0000, 0x0000, 0x01F5, 0xFFFF, 0x01F5, 0xA413, 0xA413, 0xA413, 0xA413, 0x01F5, 0xFFFF, 0x01F5, 0x0000, 0x0000, 0x0000,   // 0x0050 (80) pixels
0x0000, 0x0000, 0xF904, 0x01F5, 0xFFFF, 0xFC98, 0x0000, 0xFC98, 0xFC98, 0x0000, 0xFC98, 0xFFFF, 0x01F5, 0xF904, 0x0000, 0x0000,   // 0x0060 (96) pixels
0x0000, 0x0000, 0xF904, 0x01F5, 0xFFFF, 0xFC98, 0x0000, 0xFC98, 0xFC98, 0x0000, 0xFC98, 0xFFFF, 0x01F5, 0xF904, 0x0000, 0x0000,   // 0x0070 (112) pixels
0x0000, 0x0000, 0x0000, 0x0000, 0xFFFF, 0xFC98, 0xFC98, 0xFC98, 0xFC98, 0xFC98, 0xFC98, 0xFFFF, 0x0000, 0x0000, 0x0000, 0x0000,   // 0x0080 (128) pixels
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x01F5, 0xFC98, 0xF904, 0xF904, 0xFC98, 0x01F5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,   // 0x0090 (144) pixels
0x0000, 0x0000, 0x0000, 0x0000, 0xA413, 0xFFFF, 0x5A0D, 0x5A0D, 0x5A0D, 0x5A0D, 0xFFFF, 0xA413, 0x0000, 0x0000, 0x0000, 0x0000,   // 0x00A0 (160) pixels
0x0000, 0x0000, 0x0000, 0x01F5, 0xFFFF, 0xF904, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xF904, 0xFFFF, 0x01F5, 0x0000, 0x0000, 0x0000,   // 0x00B0 (176) pixels
0x0000, 0x0000, 0x0000, 0x01F5, 0x01F5, 0xFFFF, 0xF904, 0xFFFF, 0xFFFF, 0xF904, 0xFFFF, 0x01F5, 0x01F5, 0x0000, 0x0000, 0x0000,   // 0x00C0 (192) pixels
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x01F5, 0x01F5, 0xF904, 0xF904, 0x01F5, 0x01F5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,   // 0x00D0 (208) pixels
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xF904, 0xF904, 0x0000, 0x0000, 0xF904, 0xF904, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,   // 0x00E0 (224) pixels
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,   // 0x00F0 (240) pixels
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,   // 0x0100 (256) pixels
};



const unsigned short UHR[256] PROGMEM={
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,   // 0x0010 (16) pixels
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,   // 0x0020 (32) pixels
0x0000, 0x0000, 0xE678, 0xA413, 0x0000, 0x0000, 0xE678, 0xE678, 0xE678, 0xE678, 0x0000, 0x0000, 0xA413, 0xE678, 0x0000, 0x0000,   // 0x0030 (48) pixels
0x0000, 0xE678, 0xA413, 0x0000, 0xE678, 0xE678, 0xE678, 0xE678, 0xE678, 0xE678, 0xE678, 0xE678, 0x0000, 0xA413, 0xE678, 0x0000,   // 0x0040 (64) pixels
0x0000, 0xA413, 0x0000, 0xE678, 0xE678, 0xE678, 0xE678, 0xE678, 0xE678, 0xE678, 0x5A0D, 0xE678, 0xE678, 0x0000, 0xA413, 0x0000,   // 0x0050 (80) pixels
0x0000, 0xA413, 0x0000, 0xE678, 0xE678, 0xE678, 0xE678, 0xE678, 0xE678, 0x5A0D, 0xE678, 0xE678, 0xE678, 0x0000, 0xA413, 0x0000,   // 0x0060 (96) pixels
0x0000, 0x0000, 0xE678, 0xA413, 0xA413, 0xE678, 0xE678, 0xE678, 0xE678, 0x5A0D, 0xE678, 0xA413, 0xA413, 0xE678, 0x0000, 0x0000,   // 0x0070 (112) pixels
0x0000, 0x0000, 0xE678, 0xE678, 0xE678, 0xE678, 0xE678, 0xE678, 0x5A0D, 0xE678, 0xE678, 0xE678, 0xE678, 0xE678, 0x0000, 0x0000,   // 0x0080 (128) pixels
0x0000, 0x0000, 0xE678, 0xFFFF, 0x0000, 0xE678, 0xE678, 0xFFFF, 0x0000, 0xE678, 0xE678, 0xFFFF, 0x0000, 0xE678, 0x0000, 0x0000,   // 0x0090 (144) pixels
0x0000, 0x0000, 0xE678, 0x0000, 0x0000, 0xE678, 0xE678, 0x0000, 0x0000, 0xE678, 0xE678, 0x0000, 0x0000, 0xA413, 0x0000, 0x0000,   // 0x00A0 (160) pixels
0x0000, 0x0000, 0xFC06, 0xFC06, 0xFC06, 0xE678, 0xE678, 0xE678, 0xE678, 0xE678, 0xE678, 0xFC06, 0xFC06, 0xFC06, 0x0000, 0x0000,   // 0x00B0 (176) pixels
0x0000, 0x0000, 0x0000, 0xE678, 0xE678, 0xE678, 0xE678, 0xE678, 0xE678, 0xE678, 0xE678, 0xA413, 0xA413, 0x0000, 0x0000, 0x0000,   // 0x00C0 (192) pixels
0x0000, 0x0000, 0x0000, 0xE678, 0xE678, 0xE678, 0xE678, 0x0000, 0x0000, 0xE678, 0xA413, 0xA413, 0xA413, 0x0000, 0x0000, 0x0000,   // 0x00D0 (208) pixels
0x0000, 0x0000, 0xFFFF, 0x0000, 0x0000, 0xA413, 0xA413, 0xA413, 0xA413, 0xA413, 0xA413, 0x0000, 0x0000, 0xFFFF, 0x0000, 0x0000,   // 0x00E0 (224) pixels
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,   // 0x00F0 (240) pixels
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,   // 0x0100 (256) pixels
};





#define PIN 13
  
// MATRIX DECLARATION:
// Parameter 1 = width of NeoPixel matrix
// Parameter 2 = height of matrix
// Parameter 3 = pin number (most are valid)
// Parameter 4 = matrix layout flags, add together as needed:
//   NEO_MATRIX_TOP, NEO_MATRIX_BOTTOM, NEO_MATRIX_LEFT, NEO_MATRIX_RIGHT:
//     Position of the FIRST LED in the matrix; pick two, e.g.
//     NEO_MATRIX_TOP + NEO_MATRIX_LEFT for the top-left corner.
//   NEO_MATRIX_ROWS, NEO_MATRIX_COLUMNS: LEDs are arranged in horizontal
//     rows or in vertical columns, respectively; pick one or the other.
//   NEO_MATRIX_PROGRESSIVE, NEO_MATRIX_ZIGZAG: all rows/columns proceed
//     in the same order, or alternate lines reverse direction; pick one.
//   See example below for these values in action.
// Parameter 5 = pixel type flags, add together as needed:
//   NEO_KHZ800  800 KHz bitstream (most NeoPixel products w/WS2812 LEDs)
//   NEO_KHZ400  400 KHz (classic 'v1' (not v2) FLORA pixels, WS2811 drivers)
//   NEO_GRB     Pixels are wired for GRB bitstream (most NeoPixel products)
//   NEO_GRBW    Pixels are wired for GRBW bitstream (RGB+W NeoPixel products)
//   NEO_RGB     Pixels are wired for RGB bitstream (v1 FLORA pixels, not v2)
  
  
// Example for NeoPixel Shield.  In this application we'd like to use it
// as a 5x8 tall matrix, with the USB port positioned at the top of the
// Arduino.  When held that way, the first pixel is at the top right, and
// lines are arranged in columns, progressive order.  The shield uses
// 800 KHz (v2) pixels that expect GRB color data.
Adafruit_NeoMatrix matrix = Adafruit_NeoMatrix(16, 16, PIN,
  NEO_MATRIX_TOP     + NEO_MATRIX_RIGHT +
  NEO_MATRIX_COLUMNS + NEO_MATRIX_ZIGZAG,
  NEO_GRB            + NEO_KHZ800);


 // #######################################
// stuff for procedural noise

uint16_t speed = 8;
uint16_t noise[16][16];
uint16_t scale = 80;
  
static uint16_t x;
static uint16_t y;
static uint16_t z;

  
  
// Fill the x/y array of 8-bit noise values using the inoise8 function.
void fillnoise8() {
  for(int i = 0; i < 16; i++) {
    int ioffset = scale * i;
    for(int j = 0; j < 16; j++) {
      int joffset = scale * j;
      noise[i][j] = inoise8(x + ioffset,y + joffset,z);
    }
  }
  z += speed;
}
  
  
 
  // #######################################
  // image drawing function - this might be really bad solution :(
void drawImage(int x, int y)
{
  int imageHeight = 16;
  int imageWidth = 16;
  int counter = 0;
  for (int yy = 0; yy < imageHeight; yy++)
  {
    for (int xx = 0; xx < imageWidth; xx++)
    {
      matrix.drawPixel(xx + x , yy + y, ASTRO[counter]  );
      counter++;
    }
  }
}

 
  // #######################################

 
  
void setup() {
  
 // Initialize our coordinates to some random values
  x = random16();
  y = random16();
  z = random16();
  
    
  matrix.begin();
  //matrix.setTextWrap(false);
  matrix.setBrightness(20);
  //matrix.setTextColor(colors[0]);

  matrix.clear();

  //Serial.begin(9600);

}
  
 
  
void drawNoiseFrame(){
    
  int idtick = 0;
  fillnoise8();
  
  for(int y=0;y<16;y++){
  for(int xi=0;xi<16;xi++){

    //int dcid = round(noise[y][xi] * 3 );
    int n = round(noise[y][xi] * 255 );
    int n2 = round(noise[xi*2][y] * 255 );
   
    matrix.drawPixel(xi, y, matrix.Color(n,0,n2)  );
    idtick++;
   }
  }
    
}
  
float px = 8.;
float py = 8.;
float pspeed = .15;
float pax = pspeed*2;
float pay = pspeed;
int h = 16;
int w = 16;

void loop() {
  
 
  
  if(px>float(w)-1 || px<0 ){pax *=-1.;}
  if(py>float(h)-1 || py<0 ){pay *=-1.;}

  px += pax;
  py += pay;
 
   
   drawNoiseFrame();

    matrix.clear();
   
  
 // matrix.fillCircle(int(px),int(py),2,matrix.Color(152,32,122) );
 //matrix.fillRect(px,py,2,2,matrix.Color(2,111,112));
  //matrix.drawPixel(int(px),int(py), matrix.Color(11, 22, 22));
  
  
   drawImage(int(px)-8,int(py)-8);
    matrix.show();
  
    delay(10);
}
  

 
Related Posts
GAMEPAD BROWSER INPUT
GAMEPAD BROWSER INPUT

how to grab data input from Bluetooth gamepad to browser with JS

an electronics badge exercise

how to develop a electronic badge with basic components and lasercutter

Basic touch helpers for ESP32
Basic touch helpers for ESP32

Here is an example of basic usage for the helper functions. // ---------------------------------- // -------MAIN LOOP ----------------- // ---------------------------------- Read more

Basic LED helper for Arduino & ESP32
Basic LED helper for Arduino & ESP32

Arduino LED Helpers Simply create an LED object from the helper functions to handle fading, pulsing or manual call of Read more