Removed unnecessary cruft from project.
This commit is contained in:
parent
b8c7736999
commit
63741c0714
22
Makefile
22
Makefile
|
@ -99,19 +99,9 @@ LIBS = -L/usr/local/lib -L/usr/lib $(SDL_LIBS) -lstdc++ -lz $(GLLIB) -pg
|
|||
INCS = -I. -I./src
|
||||
|
||||
OBJS = \
|
||||
obj/button.o \
|
||||
obj/diskselector.o \
|
||||
obj/diskwindow.o \
|
||||
obj/draggablewindow.o \
|
||||
obj/draggablewindow2.o \
|
||||
obj/element.o \
|
||||
obj/font14pt.o \
|
||||
obj/gui.o \
|
||||
obj/guimisc.o \
|
||||
obj/menu.o \
|
||||
obj/text.o \
|
||||
obj/textedit.o \
|
||||
obj/window.o \
|
||||
\
|
||||
obj/applevideo.o \
|
||||
obj/ay8910.o \
|
||||
|
@ -130,6 +120,18 @@ OBJS = \
|
|||
obj/apple2.o \
|
||||
$(ICON)
|
||||
|
||||
#foooked:
|
||||
# obj/button.o \
|
||||
obj/diskwindow.o \
|
||||
obj/draggablewindow.o \
|
||||
obj/draggablewindow2.o \
|
||||
obj/element.o \
|
||||
obj/guimisc.o \
|
||||
obj/menu.o \
|
||||
obj/text.o \
|
||||
obj/textedit.o \
|
||||
obj/window.o \
|
||||
|
||||
all: checkenv message obj $(TARGET)$(EXESUFFIX)
|
||||
@echo
|
||||
@echo -e "\033[01;33m***\033[00;32m Looks like it compiled OK... Give it a whirl!\033[00m"
|
||||
|
|
|
@ -52,9 +52,9 @@
|
|||
#include "mmu.h"
|
||||
|
||||
#include "gui/gui.h"
|
||||
#include "gui/window.h"
|
||||
#include "gui/draggablewindow2.h"
|
||||
#include "gui/textedit.h"
|
||||
//#include "gui/window.h"
|
||||
//#include "gui/draggablewindow2.h"
|
||||
//#include "gui/textedit.h"
|
||||
|
||||
// Debug and misc. defines
|
||||
|
||||
|
|
|
@ -1,269 +0,0 @@
|
|||
//
|
||||
// BUTTON.CPP
|
||||
//
|
||||
// Graphical User Interface button class
|
||||
// by James Hammons
|
||||
//
|
||||
// JLH = James Hammons <jlhamm@acm.org>
|
||||
//
|
||||
// WHO WHEN WHAT
|
||||
// --- ---------- ------------------------------------------------------------
|
||||
// JLH 02/02/2006 Created this file
|
||||
//
|
||||
|
||||
#include "button.h"
|
||||
#include "guimisc.h" // Various support functions
|
||||
|
||||
#if SDL_BYTEORDER == SDL_BIG_ENDIAN
|
||||
#define MASK_R 0xFF000000
|
||||
#define MASK_G 0x00FF0000
|
||||
#define MASK_B 0x0000FF00
|
||||
#define MASK_A 0x000000FF
|
||||
#else
|
||||
#define MASK_R 0x000000FF
|
||||
#define MASK_G 0x0000FF00
|
||||
#define MASK_B 0x00FF0000
|
||||
#define MASK_A 0xFF000000
|
||||
#endif
|
||||
|
||||
// Debugging...
|
||||
//#define DEBUG_GUI_BUTTON
|
||||
#ifdef DEBUG_GUI_BUTTON
|
||||
#include "log.h"
|
||||
#endif
|
||||
|
||||
//
|
||||
// Button class implementation
|
||||
//
|
||||
|
||||
/*
|
||||
Some notes about this class:
|
||||
|
||||
- Button colors are hardwired (for plain text buttons)
|
||||
*/
|
||||
|
||||
Button::Button(uint32_t x/*= 0*/, uint32_t y/*= 0*/, uint32_t w/*= 0*/, uint32_t h/*= 0*/,
|
||||
Element * parent/*= NULL*/):
|
||||
Element(x, y, w, h, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, parent),
|
||||
activated(false), clicked(false), inside(false),
|
||||
buttonUp(NULL), buttonDown(NULL), buttonHover(NULL), surfacesAreLocal(false),
|
||||
activatedSave(false), clickedSave(false), insideSave(false)
|
||||
{
|
||||
// Should we make a local button bitmap here?
|
||||
}
|
||||
|
||||
Button::Button(uint32_t x, uint32_t y, uint32_t w, uint32_t h, SDL_Surface * upImg, Element * parent/*= NULL*/):
|
||||
Element(x, y, w, h, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, parent),
|
||||
activated(false), clicked(false), inside(false),
|
||||
buttonUp(upImg), buttonDown(NULL), buttonHover(NULL), surfacesAreLocal(false),
|
||||
activatedSave(false), clickedSave(false), insideSave(false)
|
||||
{
|
||||
// if (upImg == NULL)
|
||||
// return;
|
||||
//
|
||||
// uint32_t width = ((Bitmap *)upImg)->width, height = ((Bitmap *)upImg)->height;
|
||||
//
|
||||
// buttonUp = SDL_CreateRGBSurface(SDL_SWSURFACE, width, height,
|
||||
// 32, MASK_R, MASK_G, MASK_B, MASK_A);
|
||||
// memcpy(buttonUp->pixels, ((Bitmap *)upImg)->pixelData, width * height * 4);
|
||||
|
||||
// Should we make a local button bitmap here? NO--it's passed in!
|
||||
}
|
||||
|
||||
Button::Button(uint32_t x, uint32_t y, SDL_Surface * bU, SDL_Surface * bH/*= NULL*/,
|
||||
SDL_Surface * bD/*= NULL*/, Element * parent/*= NULL*/):
|
||||
Element(x, y, 0, 0, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, parent),
|
||||
activated(false), clicked(false), inside(false),
|
||||
buttonUp(bU), buttonDown(bD), buttonHover(bH), surfacesAreLocal(false),
|
||||
activatedSave(false), clickedSave(false), insideSave(false)
|
||||
{
|
||||
if (buttonUp)
|
||||
extents.w = buttonUp->w,
|
||||
extents.h = buttonUp->h;
|
||||
}
|
||||
|
||||
Button::Button(uint32_t x, uint32_t y, uint32_t w, uint32_t h, std::string s, Element * parent/*= NULL*/):
|
||||
Element(x, y, w, h, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, parent),
|
||||
activated(false), clicked(false), inside(false),
|
||||
buttonUp(NULL), buttonDown(NULL), buttonHover(NULL), surfacesAreLocal(true),
|
||||
activatedSave(false), clickedSave(false), insideSave(false)
|
||||
{
|
||||
// Create the button surfaces here...
|
||||
}
|
||||
|
||||
Button::Button(uint32_t x, uint32_t y, std::string s, Element * parent/*= NULL*/):
|
||||
Element(x, y, 0, 0, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xCF, 0x00, 0xFF, parent),
|
||||
activated(false), clicked(false), inside(false),
|
||||
buttonUp(NULL), buttonDown(NULL), buttonHover(NULL), surfacesAreLocal(true),
|
||||
activatedSave(false), clickedSave(false), insideSave(false)
|
||||
{
|
||||
extents.w = (s.length() + 2) * GetFontWidth();
|
||||
extents.h = GetFontHeight();
|
||||
|
||||
// Create the button surfaces here...
|
||||
|
||||
buttonUp = SDL_CreateRGBSurface(SDL_SWSURFACE, extents.w, extents.h, 32,
|
||||
MASK_R, MASK_G, MASK_B, MASK_A);
|
||||
buttonDown = SDL_CreateRGBSurface(SDL_SWSURFACE, extents.w, extents.h, 32,
|
||||
MASK_R, MASK_G, MASK_B, MASK_A);
|
||||
buttonHover = SDL_CreateRGBSurface(SDL_SWSURFACE, extents.w, extents.h, 32,
|
||||
MASK_R, MASK_G, MASK_B, MASK_A);
|
||||
|
||||
//bleh
|
||||
uint8_t r1, g1, b1, a1;
|
||||
SDL_GetRGBA(fgColor, screen->format, &r1, &g1, &b1, &a1);
|
||||
fgColor = SDL_MapRGBA(buttonUp->format, r1, g1, b1, a1);
|
||||
SDL_GetRGBA(bgColor, screen->format, &r1, &g1, &b1, &a1);
|
||||
bgColor = SDL_MapRGBA(buttonUp->format, r1, g1, b1, a1);
|
||||
fgColorHL = SDL_MapRGBA(buttonUp->format, 0xFF, 0xFF, 0xFF, 0xFF);
|
||||
bgColorHL = SDL_MapRGBA(buttonUp->format, 0x4F, 0xFF, 0x4F, 0xFF);
|
||||
//helb
|
||||
|
||||
// Need to create backgrounds before we do this stuff...
|
||||
SDL_FillRect(buttonUp, NULL, bgColor);
|
||||
SDL_FillRect(buttonDown, NULL, fgColor);
|
||||
SDL_FillRect(buttonHover, NULL, bgColorHL);
|
||||
|
||||
DrawStringTrans(buttonUp, GetFontWidth(), 0, fgColor, s.c_str());
|
||||
DrawStringTrans(buttonDown, GetFontWidth(), 0, fgColor, s.c_str());
|
||||
DrawStringTrans(buttonHover, GetFontWidth(), 0, fgColorHL, s.c_str());
|
||||
|
||||
#ifdef DEBUG_GUI_BUTTON
|
||||
WriteLog("Button::Button()...\n");
|
||||
WriteLog("\tbuttonUp w/h = %u/%u\n", buttonUp->w, buttonUp->h);
|
||||
WriteLog("\tbuttonDown w/h = %u/%u\n", buttonDown->w, buttonDown->h);
|
||||
WriteLog("\tbuttonHover w/h = %u/%u\n", buttonHover->w, buttonHover->h);
|
||||
#endif
|
||||
}
|
||||
|
||||
Button::~Button()
|
||||
{
|
||||
if (surfacesAreLocal)
|
||||
{
|
||||
if (buttonUp)
|
||||
SDL_FreeSurface(buttonUp);
|
||||
|
||||
if (buttonDown)
|
||||
SDL_FreeSurface(buttonDown);
|
||||
|
||||
if (buttonHover)
|
||||
SDL_FreeSurface(buttonHover);
|
||||
}
|
||||
}
|
||||
|
||||
void Button::HandleKey(SDL_Scancode key)
|
||||
{
|
||||
}
|
||||
|
||||
void Button::HandleMouseMove(uint32_t x, uint32_t y)
|
||||
{
|
||||
if (!visible)
|
||||
return;
|
||||
|
||||
SaveStateVariables();
|
||||
inside = Inside(x, y);
|
||||
CheckStateAndRedrawIfNeeded();
|
||||
}
|
||||
|
||||
void Button::HandleMouseButton(uint32_t x, uint32_t y, bool mouseDown)
|
||||
{
|
||||
if (!visible)
|
||||
return;
|
||||
|
||||
SaveStateVariables();
|
||||
|
||||
if (inside)
|
||||
{
|
||||
if (mouseDown)
|
||||
clicked = true;
|
||||
|
||||
if (clicked && !mouseDown)
|
||||
{
|
||||
clicked = false, activated = true;
|
||||
|
||||
// Send a message to our parent widget (if any) that we're activated
|
||||
if (parent)
|
||||
parent->Notify(this);
|
||||
}
|
||||
}
|
||||
else
|
||||
clicked = activated = false;
|
||||
|
||||
CheckStateAndRedrawIfNeeded();
|
||||
}
|
||||
|
||||
void Button::Draw(void)
|
||||
{
|
||||
#ifdef DEBUG_GUI_BUTTON
|
||||
WriteLog("Button::Draw()...\n");
|
||||
#endif
|
||||
if (!visible)
|
||||
return;
|
||||
|
||||
if (buttonUp == NULL)
|
||||
return; // Bail out if no surface was created...
|
||||
|
||||
// Now, draw the appropriate button state!
|
||||
|
||||
SDL_Surface * picToShow = buttonUp;
|
||||
|
||||
if (buttonHover != NULL && inside && !clicked)
|
||||
picToShow = buttonHover;
|
||||
|
||||
if (buttonDown != NULL && inside && clicked)
|
||||
picToShow = buttonDown;
|
||||
|
||||
SDL_Rect rect = GetScreenCoords();
|
||||
#ifdef DEBUG_GUI_BUTTON
|
||||
WriteLog(" coords: x=%u, y=%u\n", rect.x, rect.y);
|
||||
WriteLog(" picToShow=%08X\n", picToShow);
|
||||
#endif
|
||||
|
||||
//Need to do coverage list blitting here, to avoid unnecessary drawing when doing mouseovers
|
||||
//Also, need to add suport in Gui()...
|
||||
SDL_BlitSurface(picToShow, NULL, screen, &rect); // This handles alpha blending too! :-D
|
||||
#ifdef DEBUG_GUI_BUTTON
|
||||
WriteLog(" width: w=%u, h=%u\n", rect.w, rect.h);
|
||||
#endif
|
||||
|
||||
needToRefreshScreen = true;
|
||||
|
||||
#ifdef DEBUG_GUI_BUTTON
|
||||
// SDL_FillRect(screen, &extents, fgColor);
|
||||
#endif
|
||||
}
|
||||
|
||||
void Button::Notify(Element *)
|
||||
{
|
||||
}
|
||||
|
||||
bool Button::ButtonClicked(void)
|
||||
{
|
||||
return activated;
|
||||
}
|
||||
|
||||
void Button::SaveStateVariables(void)
|
||||
{
|
||||
activatedSave = activated;
|
||||
clickedSave = clicked;
|
||||
insideSave = inside;
|
||||
}
|
||||
|
||||
void Button::CheckStateAndRedrawIfNeeded(void)
|
||||
{
|
||||
// Check to see if any of our state variables changed since we last saved them...
|
||||
if (activated != activatedSave || clicked != clickedSave || inside != insideSave)
|
||||
Draw();
|
||||
}
|
||||
|
||||
void Button::SetText(std::string s)
|
||||
{
|
||||
// Need to create backgrounds before we do this stuff...
|
||||
SDL_FillRect(buttonUp, NULL, bgColor);
|
||||
SDL_FillRect(buttonDown, NULL, fgColor);
|
||||
SDL_FillRect(buttonHover, NULL, bgColorHL);
|
||||
|
||||
DrawStringTrans(buttonUp, GetFontWidth(), 0, fgColor, s.c_str());
|
||||
DrawStringTrans(buttonDown, GetFontWidth(), 0, fgColor, s.c_str());
|
||||
DrawStringTrans(buttonHover, GetFontWidth(), 0, fgColorHL, s.c_str());
|
||||
}
|
|
@ -1,47 +0,0 @@
|
|||
//
|
||||
// BUTTON.H
|
||||
//
|
||||
// Graphical User Interface button class
|
||||
//
|
||||
|
||||
#ifndef __BUTTON_H__
|
||||
#define __BUTTON_H__
|
||||
|
||||
#include <string>
|
||||
//#include <list>
|
||||
#include "element.h"
|
||||
|
||||
//Apparently this approach doesn't work for inheritance... D'oh!
|
||||
//class Element; // Forward declaration
|
||||
|
||||
class Button: public Element
|
||||
{
|
||||
public:
|
||||
Button(uint32_t x = 0, uint32_t y = 0, uint32_t w = 0, uint32_t h = 0, Element * parent = NULL);
|
||||
Button(uint32_t x, uint32_t y, uint32_t w, uint32_t h, SDL_Surface * upImg, Element * parent = NULL);
|
||||
Button(uint32_t x, uint32_t y, SDL_Surface * bU, SDL_Surface * bH = NULL, SDL_Surface * bD = NULL, Element * parent = NULL);
|
||||
Button(uint32_t x, uint32_t y, uint32_t w, uint32_t h, std::string s, Element * parent = NULL);
|
||||
Button(uint32_t x, uint32_t y, std::string s, Element * parent = NULL);
|
||||
~Button();
|
||||
virtual void HandleKey(SDL_Scancode key);
|
||||
virtual void HandleMouseMove(uint32_t x, uint32_t y);
|
||||
virtual void HandleMouseButton(uint32_t x, uint32_t y, bool mouseDown);
|
||||
virtual void Draw(void);
|
||||
virtual void Notify(Element *);
|
||||
bool ButtonClicked(void);
|
||||
void SaveStateVariables(void);
|
||||
void CheckStateAndRedrawIfNeeded(void);
|
||||
void SetText(std::string s);
|
||||
|
||||
protected:
|
||||
bool activated, clicked, inside;
|
||||
SDL_Surface * buttonUp, * buttonDown, * buttonHover;
|
||||
uint32_t fgColorHL;
|
||||
uint32_t bgColorHL;
|
||||
|
||||
private:
|
||||
bool surfacesAreLocal;
|
||||
bool activatedSave, clickedSave, insideSave;
|
||||
};
|
||||
|
||||
#endif // __BUTTON_H__
|
|
@ -3,6 +3,7 @@
|
|||
//
|
||||
// Floppy disk selector GUI
|
||||
// by James Hammons
|
||||
// © 2014 Underground Software
|
||||
//
|
||||
// JLH = James Hammons <jlhamm@acm.org>
|
||||
//
|
||||
|
@ -70,7 +71,6 @@ void DiskSelector::Init(SDL_Renderer * renderer)
|
|||
{
|
||||
window = SDL_CreateTexture(renderer, SDL_PIXELFORMAT_ABGR8888,
|
||||
SDL_TEXTUREACCESS_TARGET, 400, 300);
|
||||
// charStamp = SDL_CreateTexture(renderer, SDL_PIXELFORMAT_ABGR8888,
|
||||
charStamp = SDL_CreateTexture(renderer, SDL_PIXELFORMAT_RGBA8888,
|
||||
SDL_TEXTUREACCESS_TARGET, FONT_WIDTH, FONT_HEIGHT);
|
||||
|
||||
|
|
|
@ -1,287 +0,0 @@
|
|||
//
|
||||
// DISKWINDOW.CPP
|
||||
//
|
||||
// Graphical User Interface disk window class
|
||||
// by James Hammons
|
||||
//
|
||||
// JLH = James Hammons <jlhamm@acm.org>
|
||||
//
|
||||
// WHO WHEN WHAT
|
||||
// --- ---------- ------------------------------------------------------------
|
||||
// JLH 02/02/2009 Created this file
|
||||
//
|
||||
|
||||
/*
|
||||
IDEA: Make a recently used file list when ejecting a disk, either here or in
|
||||
another window.
|
||||
*/
|
||||
|
||||
#include "diskwindow.h"
|
||||
#include "floppy.h"
|
||||
#include "text.h"
|
||||
#include "button.h"
|
||||
//#include "guimisc.h" // Various support functions
|
||||
//#include <algorithm>
|
||||
|
||||
// Debug support...
|
||||
//#define DESTRUCTOR_TESTING
|
||||
|
||||
// Rendering experiment...
|
||||
//BAH
|
||||
//#define USE_COVERAGE_LISTS
|
||||
|
||||
#if SDL_BYTEORDER == SDL_BIG_ENDIAN
|
||||
#define MASK_R 0xFF000000
|
||||
#define MASK_G 0x00FF0000
|
||||
#define MASK_B 0x0000FF00
|
||||
#define MASK_A 0x000000FF
|
||||
#else
|
||||
#define MASK_R 0x000000FF
|
||||
#define MASK_G 0x0000FF00
|
||||
#define MASK_B 0x00FF0000
|
||||
#define MASK_A 0xFF000000
|
||||
#endif
|
||||
|
||||
//
|
||||
// DiskWindow class implementation
|
||||
//
|
||||
// NOTE: FG/BG colors are hard-wired
|
||||
//
|
||||
|
||||
DiskWindow::DiskWindow(FloppyDrive * fdp, uint32_t x/*= 0*/, uint32_t y/*= 0*/): Window(x, y, 200, 140, NULL), floppyDrive(fdp)
|
||||
{
|
||||
//Could probably move this into the initializer list as well...
|
||||
// closeButton = new Button(w - (cbWidth + 1), 1, cbUp, cbHover, cbDown, this);
|
||||
// list.push_back(closeButton);
|
||||
|
||||
name1 = new Text(4, 4, floppyDrive->ImageName(0), 0xFF00FF00, 0xFF23239F, this);
|
||||
name2 = new Text(4, 24, floppyDrive->ImageName(1), 0xFF00FF00, 0xFF23239F, this);
|
||||
|
||||
AddElement(name1);
|
||||
AddElement(name2);
|
||||
|
||||
load1 = new Button(4, 44, "Load1", this);
|
||||
eject1 = new Button(4, 64, "Eject1", this);
|
||||
load2 = new Button(4, 88, "Load2", this);
|
||||
eject2 = new Button(4, 108, "Eject2", this);
|
||||
|
||||
load1->SetVisible(false);
|
||||
load2->SetVisible(false);
|
||||
|
||||
AddElement(load1);
|
||||
AddElement(eject1);
|
||||
AddElement(load2);
|
||||
AddElement(eject2);
|
||||
|
||||
newDisk1 = new Button(4, 132, "NewDisk1", this);
|
||||
newDisk2 = new Button(4, 152, "NewDisk2", this);
|
||||
writeProtect1 = new Button(4, 176, "WriteProt1", this);
|
||||
writeProtect2 = new Button(4, 196, "WriteProt2", this);
|
||||
swap = new Button(4, 220, "Swap Disks", this);
|
||||
|
||||
writeProtect1->SetText((floppyDrive->IsWriteProtected(0) ? "no write" : "write"));
|
||||
writeProtect2->SetText((floppyDrive->IsWriteProtected(1) ? "no write" : "write"));
|
||||
|
||||
AddElement(newDisk1);
|
||||
AddElement(newDisk2);
|
||||
AddElement(writeProtect1);
|
||||
AddElement(writeProtect2);
|
||||
AddElement(swap);
|
||||
|
||||
// In spite of this, it's still blanking out the background...
|
||||
// Actually, come to think of it, it's got a stale backbuffer when
|
||||
// the GUI comes in again... !!! FIX !!!
|
||||
#warning !!! FIX !!!
|
||||
SetBackgroundDraw(false);
|
||||
// CreateBackstore();
|
||||
Draw(); // Can we do this in the constructor??? Mebbe.
|
||||
}
|
||||
|
||||
DiskWindow::~DiskWindow()
|
||||
{
|
||||
#ifdef DESTRUCTOR_TESTING
|
||||
printf("Inside ~DiskWindow()...\n");
|
||||
#endif
|
||||
}
|
||||
|
||||
void DiskWindow::HandleKey(SDL_Scancode key)
|
||||
{
|
||||
Window::HandleKey(key);
|
||||
#if 0
|
||||
if (key == SDLK_ESCAPE)
|
||||
{
|
||||
SDL_Event event;
|
||||
event.type = SDL_USEREVENT, event.user.code = WINDOW_CLOSE;
|
||||
SDL_PushEvent(&event);
|
||||
}
|
||||
|
||||
// Handle the items this window contains...
|
||||
for(uint32_t i=0; i<list.size(); i++)
|
||||
list[i]->HandleKey(key);
|
||||
#endif
|
||||
}
|
||||
|
||||
void DiskWindow::HandleMouseMove(uint32_t x, uint32_t y)
|
||||
{
|
||||
Window::HandleMouseMove(x, y);
|
||||
#if 0
|
||||
// Handle the items this window contains...
|
||||
for(uint32_t i=0; i<list.size(); i++)
|
||||
// Make coords relative to upper right corner of this window...
|
||||
list[i]->HandleMouseMove(x - extents.x, y - extents.y);
|
||||
#endif
|
||||
}
|
||||
|
||||
void DiskWindow::HandleMouseButton(uint32_t x, uint32_t y, bool mouseDown)
|
||||
{
|
||||
Window::HandleMouseButton(x, y, mouseDown);
|
||||
#if 0
|
||||
#if 1
|
||||
// Handle the items this window contains...
|
||||
for(uint32_t i=0; i<list.size(); i++)
|
||||
// Make coords relative to upper right corner of this window...
|
||||
list[i]->HandleMouseButton(x - extents.x, y - extents.y, mouseDown);
|
||||
#else //? This works in draggablewindow2...
|
||||
// Handle the items this window contains...
|
||||
for(uint32_t i=0; i<list.size(); i++)
|
||||
{
|
||||
// Make coords relative to upper right corner of this window...
|
||||
list[i]->HandleMouseButton(x - extents.x, y - extents.y, mouseDown);
|
||||
|
||||
if (list[i]->Inside(x - extents.x, y - extents.y))
|
||||
clicked = false;
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
}
|
||||
|
||||
void DiskWindow::Draw(void)
|
||||
{
|
||||
Window::Draw();
|
||||
#if 0
|
||||
// These are *always* top level and parentless, so no need to traverse up through
|
||||
// the parent chain...
|
||||
SDL_FillRect(screen, &extents, bgColor);
|
||||
|
||||
// Handle the items this window contains...
|
||||
for(uint32_t i=0; i<list.size(); i++)
|
||||
list[i]->Draw();
|
||||
|
||||
needToRefreshScreen = true;
|
||||
#endif
|
||||
}
|
||||
|
||||
void DiskWindow::Notify(Element * e)
|
||||
{
|
||||
/* if (e == closeButton)
|
||||
{
|
||||
SDL_Event event;
|
||||
event.type = SDL_USEREVENT;
|
||||
event.user.code = WINDOW_CLOSE;
|
||||
event.user.data1 = (void *)this;
|
||||
SDL_PushEvent(&event);
|
||||
}*/
|
||||
if (e == load1)
|
||||
{
|
||||
// Load up file selector, etc... BLEAH
|
||||
// If load was successful, then hide load and show eject, else, fuggetaboutit
|
||||
}
|
||||
else if (e == eject1)
|
||||
{
|
||||
floppyDrive->EjectImage(0);
|
||||
|
||||
// Housekeeping
|
||||
eject1->SetVisible(false);
|
||||
load1->SetVisible(true);
|
||||
name1->SetText("");
|
||||
Draw();
|
||||
}
|
||||
else if (e == load2)
|
||||
{
|
||||
// Load up file selector, etc... BLEAH
|
||||
// If load was successful, then hide load and show eject, else, fuggetaboutit
|
||||
}
|
||||
else if (e == eject2)
|
||||
{
|
||||
floppyDrive->EjectImage(1);
|
||||
|
||||
// Housekeeping
|
||||
eject2->SetVisible(false);
|
||||
load2->SetVisible(true);
|
||||
name2->SetText("");
|
||||
Draw();
|
||||
}
|
||||
else if (e == newDisk1)
|
||||
{
|
||||
if (!floppyDrive->IsEmpty(0))
|
||||
{
|
||||
// Put up a warning and give user a chance to exit this potentially
|
||||
// disastrous action
|
||||
// Now, how to do this? Notify() isn't asynchronous...
|
||||
// And until we return from here, there is no GUI main loop to show any dialogs!
|
||||
/*
|
||||
what you could do is like this way:
|
||||
|
||||
-- have a callback function for after the intermediate window gets dismissed
|
||||
-- have a separate GUI thread
|
||||
-- have a 2nd GUI object and run that loop to completion
|
||||
|
||||
|
||||
*/
|
||||
}
|
||||
|
||||
floppyDrive->SaveImage(0);
|
||||
floppyDrive->CreateBlankImage(0);
|
||||
|
||||
// Housekeeping
|
||||
eject1->SetVisible(true);
|
||||
load1->SetVisible(false);
|
||||
name1->SetText(floppyDrive->ImageName(0));
|
||||
Draw();
|
||||
}
|
||||
else if (e == newDisk2)
|
||||
{
|
||||
if (!floppyDrive->IsEmpty(1))
|
||||
{
|
||||
// Put up a warning and give user a chance to exit this potentially
|
||||
// disastrous action
|
||||
}
|
||||
|
||||
floppyDrive->SaveImage(1);
|
||||
floppyDrive->CreateBlankImage(1);
|
||||
|
||||
// Housekeeping
|
||||
eject2->SetVisible(true);
|
||||
load2->SetVisible(false);
|
||||
name2->SetText(floppyDrive->ImageName(1));
|
||||
Draw();
|
||||
}
|
||||
else if (e == writeProtect1)
|
||||
{
|
||||
floppyDrive->SetWriteProtect((floppyDrive->IsWriteProtected(0) ? false : true), 0);
|
||||
// floppyDrive->SetWriteProtect(false, 0);
|
||||
// else
|
||||
// floppyDrive->SetWriteProtect(true, 0);
|
||||
|
||||
// Housekeeping
|
||||
writeProtect1->SetText((floppyDrive->IsWriteProtected(0) ? "no write" : "write"));
|
||||
Draw();
|
||||
}
|
||||
else if (e == writeProtect2)
|
||||
{
|
||||
floppyDrive->SetWriteProtect((floppyDrive->IsWriteProtected(1) ? false : true), 1);
|
||||
|
||||
// Housekeeping
|
||||
writeProtect2->SetText((floppyDrive->IsWriteProtected(1) ? "no write" : "write"));
|
||||
Draw();
|
||||
}
|
||||
else if (e == swap)
|
||||
{
|
||||
floppyDrive->SwapImages();
|
||||
|
||||
// Housekeeping
|
||||
name1->SetText(floppyDrive->ImageName(0));
|
||||
name2->SetText(floppyDrive->ImageName(1));
|
||||
Draw();
|
||||
}
|
||||
}
|
|
@ -1,42 +0,0 @@
|
|||
//
|
||||
// DISKWINDOW.H
|
||||
//
|
||||
// Graphical User Interface disk window class
|
||||
//
|
||||
|
||||
#ifndef __DISKWINDOW_H__
|
||||
#define __DISKWINDOW_H__
|
||||
|
||||
#include "window.h"
|
||||
|
||||
class FloppyDrive;
|
||||
class Text;
|
||||
|
||||
class DiskWindow: public Window
|
||||
{
|
||||
public:
|
||||
DiskWindow(FloppyDrive * fdp, uint32_t x = 0, uint32_t y = 0);
|
||||
~DiskWindow(); //Does this destructor need to be virtual? Not sure... Check!
|
||||
virtual void HandleKey(SDL_Scancode key);
|
||||
virtual void HandleMouseMove(uint32_t x, uint32_t y);
|
||||
virtual void HandleMouseButton(uint32_t x, uint32_t y, bool mouseDown);
|
||||
virtual void Draw(void);
|
||||
virtual void Notify(Element *);
|
||||
// void AddElement(Element * e);
|
||||
// void AddCloseButton(void);
|
||||
|
||||
protected:
|
||||
// void (* handler)(Element *);
|
||||
// Button * closeButton;
|
||||
// std::vector<Element *> list;
|
||||
|
||||
private:
|
||||
FloppyDrive * floppyDrive;
|
||||
// uint16_t cbWidth, cbHeight;
|
||||
// SDL_Surface * cbUp, * cbDown, * cbHover;
|
||||
Text * name1, * name2;
|
||||
Button * load1, * load2, * eject1, * eject2,
|
||||
* newDisk1, * newDisk2, * swap, * writeProtect1, * writeProtect2;
|
||||
};
|
||||
|
||||
#endif // __DISKWINDOW_H__
|
|
@ -1,198 +0,0 @@
|
|||
//
|
||||
// DRAGGABLEWINDOW.CPP
|
||||
//
|
||||
// Graphical User Interface draggable window class
|
||||
// by James Hammons
|
||||
//
|
||||
// JLH = James Hammons <jlhamm@acm.org>
|
||||
//
|
||||
// WHO WHEN WHAT
|
||||
// --- ---------- ------------------------------------------------------------
|
||||
// JLH 03/01/2006 Created this file
|
||||
//
|
||||
// STILL TO DO:
|
||||
//
|
||||
// - Check for parent's extents and clip movement against those extents
|
||||
//
|
||||
|
||||
#include "draggablewindow.h"
|
||||
#include "button.h"
|
||||
#include "guimisc.h" // Various support functions
|
||||
#include <algorithm>
|
||||
|
||||
#if SDL_BYTEORDER == SDL_BIG_ENDIAN
|
||||
#define MASK_R 0xFF000000
|
||||
#define MASK_G 0x00FF0000
|
||||
#define MASK_B 0x0000FF00
|
||||
#define MASK_A 0x000000FF
|
||||
#else
|
||||
#define MASK_R 0x000000FF
|
||||
#define MASK_G 0x0000FF00
|
||||
#define MASK_B 0x00FF0000
|
||||
#define MASK_A 0xFF000000
|
||||
#endif
|
||||
|
||||
#define BACKGROUND_IMG_TEST
|
||||
//#define USE_COVERAGE_LISTS
|
||||
|
||||
//
|
||||
// DraggableWindow class implementation
|
||||
//
|
||||
// NOTE: FG/BG colors are hard-wired
|
||||
//
|
||||
|
||||
DraggableWindow::DraggableWindow(uint32_t x/*= 0*/, uint32_t y/*= 0*/, uint32_t w/*= 0*/, uint32_t h/*= 0*/,
|
||||
void (* f)(Element *)/*= NULL*/):
|
||||
Element(x, y, w, h, 0x4D, 0xFF, 0x84, 0xFF, 0x1F, 0x84, 0x84, 0xFF), handler(f),
|
||||
clicked(false),
|
||||
cbWidth((closeBox[0] << 8) | closeBox[1]), cbHeight((closeBox[2] << 8) | closeBox[3]),
|
||||
cbUp(SDL_CreateRGBSurfaceFrom(&closeBox[4], cbWidth, cbHeight, 32, cbWidth * 4,
|
||||
MASK_R, MASK_G, MASK_B, MASK_A)),
|
||||
cbDown(SDL_CreateRGBSurfaceFrom(&closeBoxDown[4], cbWidth, cbHeight, 32, cbWidth * 4,
|
||||
MASK_R, MASK_G, MASK_B, MASK_A)),
|
||||
cbHover(SDL_CreateRGBSurfaceFrom(&closeBoxHover[4], cbWidth, cbHeight, 32, cbWidth * 4,
|
||||
MASK_R, MASK_G, MASK_B, MASK_A))
|
||||
{
|
||||
//Could probably move this into the initializer list as well...
|
||||
closeButton = new Button(w - (cbWidth + 1), 1, cbUp, cbHover, cbDown, this);
|
||||
list.push_back(closeButton);
|
||||
|
||||
#ifdef BACKGROUND_IMG_TEST
|
||||
uint16_t imgWidth = (floppyDiskImg[0] << 8) | floppyDiskImg[1];
|
||||
uint16_t imgHeight = (floppyDiskImg[2] << 8) | floppyDiskImg[3];
|
||||
img = SDL_CreateRGBSurfaceFrom(&floppyDiskImg[4], imgWidth, imgHeight, 32, imgWidth * 4,
|
||||
MASK_R, MASK_G, MASK_B, MASK_A);
|
||||
#endif
|
||||
|
||||
CreateBackstore();
|
||||
Draw(); // Can we do this in the constructor??? Mebbe.
|
||||
}
|
||||
|
||||
DraggableWindow::~DraggableWindow()
|
||||
{
|
||||
for(uint32_t i=0; i<list.size(); i++)
|
||||
if (list[i])
|
||||
delete list[i];
|
||||
|
||||
#ifdef BACKGROUND_IMG_TEST
|
||||
SDL_FreeSurface(img);
|
||||
#endif
|
||||
|
||||
SDL_FreeSurface(cbUp);
|
||||
SDL_FreeSurface(cbDown);
|
||||
SDL_FreeSurface(cbHover);
|
||||
}
|
||||
|
||||
void DraggableWindow::HandleKey(SDL_Scancode key)
|
||||
{
|
||||
if (key == SDL_SCANCODE_ESCAPE)
|
||||
{
|
||||
SDL_Event event;
|
||||
event.type = SDL_USEREVENT, event.user.code = WINDOW_CLOSE;
|
||||
SDL_PushEvent(&event);
|
||||
}
|
||||
|
||||
// Handle the items this window contains...
|
||||
for(uint32_t i=0; i<list.size(); i++)
|
||||
list[i]->HandleKey(key);
|
||||
}
|
||||
|
||||
void DraggableWindow::HandleMouseMove(uint32_t x, uint32_t y)
|
||||
{
|
||||
if (clicked)
|
||||
{
|
||||
//Need to check whether or not we've run into the extents of the screen... !!! FIX !!!
|
||||
RestoreScreenFromBackstore();
|
||||
extents.x = x - offset.x;
|
||||
extents.y = y - offset.y;
|
||||
SDL_BlitSurface(screen, &extents, backstore, NULL);
|
||||
Draw();
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
// Handle the items this window contains...
|
||||
for(uint32_t i=0; i<list.size(); i++)
|
||||
// Make coords relative to upper right corner of this window...
|
||||
list[i]->HandleMouseMove(x - extents.x, y - extents.y);
|
||||
}
|
||||
|
||||
void DraggableWindow::HandleMouseButton(uint32_t x, uint32_t y, bool mouseDown)
|
||||
{
|
||||
clicked = false;
|
||||
|
||||
if (mouseDown && Inside(x, y))
|
||||
{
|
||||
clicked = true;
|
||||
offset.x = x - extents.x;
|
||||
offset.y = y - extents.y;
|
||||
}
|
||||
|
||||
// Handle the items this window contains...
|
||||
for(uint32_t i=0; i<list.size(); i++)
|
||||
{
|
||||
// Make coords relative to upper right corner of this window...
|
||||
list[i]->HandleMouseButton(x - extents.x, y - extents.y, mouseDown);
|
||||
|
||||
if (list[i]->Inside(x - extents.x, y - extents.y))
|
||||
clicked = false;
|
||||
}
|
||||
}
|
||||
|
||||
void DraggableWindow::Draw(void)
|
||||
{
|
||||
#ifdef USE_COVERAGE_LISTS
|
||||
// These are *always* top level and parentless, so no need to traverse up through
|
||||
// the parent chain...
|
||||
for(std::list<SDL_Rect>::iterator i=coverList.begin(); i!=coverList.end(); i++)
|
||||
SDL_FillRect(screen, &(*i), bgColor);
|
||||
|
||||
// Handle the items this window contains...
|
||||
for(uint32_t i=0; i<list.size(); i++)
|
||||
list[i]->Draw();
|
||||
#else
|
||||
// These are *always* top level and parentless, so no need to traverse up through
|
||||
// the parent chain...
|
||||
//Perhaps we can make these parentable, put the parent traversal in the base class?
|
||||
//Prolly.
|
||||
#ifdef BACKGROUND_IMG_TEST
|
||||
SDL_Rect src, dst;
|
||||
src.x = 0, src.y = 0, src.w = extents.w, src.h = extents.h;
|
||||
dst.x = extents.x, dst.y = extents.y;
|
||||
SDL_BlitSurface(img, &src, screen, &dst);
|
||||
|
||||
extern char textChar2e[];
|
||||
uint8_t * fontAddr = (uint8_t *)textChar2e + ((128 + 32) * 7 * 8);
|
||||
SetNewFont(Font(fontAddr, 7, 8));
|
||||
DrawStringOpaque(screen, extents.x + 8, extents.y + 6, 0xFF000000, 0xFFFFFFFF, "Ultima III - Boo");
|
||||
DrawStringOpaque(screen, extents.x + 8, extents.y + 14, 0xFF000000, 0xFFFFFFFF, "0123456789012345");
|
||||
DrawStringOpaque(screen, extents.x + 8, extents.y + 22, 0xFF000000, 0xFFFFFFFF, "1234567890123456");
|
||||
DrawStringOpaque(screen, extents.x + 8, extents.y + 30, 0xFF000000, 0xFFFFFFFF, "2345678901234567");
|
||||
RestoreOldFont();
|
||||
#else
|
||||
SDL_FillRect(screen, &extents, bgColor);
|
||||
#endif
|
||||
|
||||
// Handle the items this window contains...
|
||||
for(uint32_t i=0; i<list.size(); i++)
|
||||
list[i]->Draw();
|
||||
#endif
|
||||
|
||||
//Prolly don't need this since the close button will do this for us...
|
||||
needToRefreshScreen = true;
|
||||
}
|
||||
|
||||
void DraggableWindow::Notify(Element * e)
|
||||
{
|
||||
if (e == closeButton)
|
||||
{
|
||||
SDL_Event event;
|
||||
event.type = SDL_USEREVENT, event.user.code = WINDOW_CLOSE;
|
||||
SDL_PushEvent(&event);
|
||||
}
|
||||
}
|
||||
|
||||
void DraggableWindow::AddElement(Element * e)
|
||||
{
|
||||
list.push_back(e);
|
||||
}
|
|
@ -1,41 +0,0 @@
|
|||
//
|
||||
// DRAGGABLEWINDOW.H
|
||||
//
|
||||
// Graphical User Interface window class
|
||||
//
|
||||
|
||||
#ifndef __DRAGGABLEWINDOW_H__
|
||||
#define __DRAGGABLEWINDOW_H__
|
||||
|
||||
#include "element.h"
|
||||
#include <vector>
|
||||
|
||||
class Button; // Forward declaration
|
||||
|
||||
class DraggableWindow: public Element
|
||||
{
|
||||
public:
|
||||
DraggableWindow(uint32_t x = 0, uint32_t y = 0, uint32_t w = 0, uint32_t h = 0,
|
||||
void (* f)(Element *) = NULL);
|
||||
~DraggableWindow(); //Does this destructor need to be virtual? Not sure... Check!
|
||||
virtual void HandleKey(SDL_Scancode key);
|
||||
virtual void HandleMouseMove(uint32_t x, uint32_t y);
|
||||
virtual void HandleMouseButton(uint32_t x, uint32_t y, bool mouseDown);
|
||||
virtual void Draw(void);
|
||||
virtual void Notify(Element *);
|
||||
void AddElement(Element * e);
|
||||
|
||||
protected:
|
||||
void (* handler)(Element *);
|
||||
Button * closeButton;
|
||||
std::vector<Element *> list;
|
||||
bool clicked;
|
||||
SDL_Rect offset;
|
||||
|
||||
private:
|
||||
uint16_t cbWidth, cbHeight;
|
||||
SDL_Surface * cbUp, * cbDown, * cbHover;
|
||||
SDL_Surface * img;
|
||||
};
|
||||
|
||||
#endif // __DRAGGABLEWINDOW_H__
|
|
@ -1,213 +0,0 @@
|
|||
//
|
||||
// DRAGGABLEWINDOW2.CPP
|
||||
//
|
||||
// Graphical User Interface draggable window class
|
||||
// by James Hammons
|
||||
//
|
||||
// JLH = James Hammons <jlhamm@acm.org>
|
||||
//
|
||||
// WHO WHEN WHAT
|
||||
// --- ---------- ------------------------------------------------------------
|
||||
// JLH 03/17/2006 Created this file
|
||||
// JLH 03/17/2006 Added clipping against parent extents
|
||||
//
|
||||
// STILL TO DO:
|
||||
//
|
||||
// - Check for parent's extents and clip movement against those extents [DONE]
|
||||
//
|
||||
|
||||
#include "draggablewindow2.h"
|
||||
#include "guimisc.h" // Various support functions
|
||||
#include <algorithm>
|
||||
|
||||
// Debugging support
|
||||
|
||||
//#define DESTRUCTOR_TESTING
|
||||
#define BACKGROUND_IMG_TEST
|
||||
#define USE_COVERAGE_LISTS
|
||||
|
||||
#if SDL_BYTEORDER == SDL_BIG_ENDIAN
|
||||
#define MASK_R 0xFF000000
|
||||
#define MASK_G 0x00FF0000
|
||||
#define MASK_B 0x0000FF00
|
||||
#define MASK_A 0x000000FF
|
||||
#else
|
||||
#define MASK_R 0x000000FF
|
||||
#define MASK_G 0x0000FF00
|
||||
#define MASK_B 0x00FF0000
|
||||
#define MASK_A 0xFF000000
|
||||
#endif
|
||||
|
||||
//
|
||||
// DraggableWindow class implementation
|
||||
//
|
||||
// NOTE: FG/BG colors are hard-wired
|
||||
//
|
||||
|
||||
DraggableWindow2::DraggableWindow2(uint32_t x/*= 0*/, uint32_t y/*= 0*/, uint32_t w/*= 0*/, uint32_t h/*= 0*/,
|
||||
void (* f)(Element *)/*= NULL*/):
|
||||
Window(x, y, w, h, f), clicked(false)
|
||||
{
|
||||
#ifdef BACKGROUND_IMG_TEST
|
||||
uint16_t imgWidth = (floppyDiskImg[0] << 8) | floppyDiskImg[1];
|
||||
uint16_t imgHeight = (floppyDiskImg[2] << 8) | floppyDiskImg[3];
|
||||
img = SDL_CreateRGBSurfaceFrom(&floppyDiskImg[4], imgWidth, imgHeight, 32, imgWidth * 4,
|
||||
MASK_R, MASK_G, MASK_B, MASK_A);
|
||||
// label = SDL_CreateRGBSurface(SDL_SWSURFACE, 16*7, 32, 32,
|
||||
// MASK_R, MASK_G, MASK_B, MASK_A);
|
||||
|
||||
//Prolly should draw this in the constructor...
|
||||
//Now is! :-D
|
||||
extern char textChar2e[];
|
||||
uint8_t * fontAddr = (uint8_t *)textChar2e + ((128 + 32) * 7 * 8);
|
||||
SetNewFont(Font(fontAddr, 7, 8));
|
||||
// DrawStringOpaque(label, 0, 0, 0xFF000000, 0xFFFFFFFF, "Ultima III - Boo");
|
||||
// DrawStringOpaque(label, 0, 8, 0xFF000000, 0xFFFFFFFF, "0123456789012345");
|
||||
// DrawStringOpaque(label, 0, 16, 0xFF000000, 0xFFFFFFFF, "1234567890123456");
|
||||
// DrawStringOpaque(label, 0, 24, 0xFF000000, 0xFFFFFFFF, "2345678901234567");
|
||||
DrawStringOpaque(img, 8, 6, 0xFF000000, 0xFFFFFFFF, "Ultima III - Boo");
|
||||
DrawStringOpaque(img, 8, 14, 0xFF000000, 0xFFFFFFFF, "t Disk6789012345");
|
||||
DrawStringOpaque(img, 8, 22, 0xFF000000, 0xFFFFFFFF, "1234567890123456");
|
||||
DrawStringOpaque(img, 6, 30, 0xFF000000, 0xFFFFFFFF, "2345678901234567");
|
||||
RestoreOldFont();
|
||||
#endif
|
||||
|
||||
// CreateBackstore();
|
||||
//Bleh. We only have to do this here because Window's constructor is doing it too. !!! FIX !!!
|
||||
//Mebbe put this shiaut into Element? What about stuff that doesn't draw itself right away?
|
||||
//Perhaps we should just hit needToRefreshScreen or some such--but will that trigger a redraw?
|
||||
RestoreScreenFromBackstore();
|
||||
Draw(); // Can we do this in the constructor??? Mebbe.
|
||||
}
|
||||
|
||||
DraggableWindow2::~DraggableWindow2()
|
||||
{
|
||||
#ifdef DESTRUCTOR_TESTING
|
||||
printf("Inside ~DraggableWindow2()...\n");
|
||||
#endif
|
||||
|
||||
#ifdef BACKGROUND_IMG_TEST
|
||||
SDL_FreeSurface(img);
|
||||
// SDL_FreeSurface(label);
|
||||
#endif
|
||||
}
|
||||
|
||||
void DraggableWindow2::HandleMouseMove(uint32_t x, uint32_t y)
|
||||
{
|
||||
if (clicked)
|
||||
{
|
||||
//Need to check whether or not we've run into the extents of the screen... !!! FIX !!!
|
||||
//[DONE]
|
||||
int32_t newX = x - offset.x;
|
||||
int32_t newY = y - offset.y;
|
||||
SDL_Rect clip = GetParentRect();
|
||||
|
||||
if (newX < clip.x)
|
||||
newX = clip.x;
|
||||
else if (newX > (clip.w - extents.w))
|
||||
newX = clip.w - extents.w;
|
||||
|
||||
if (newY < clip.y)
|
||||
newY = clip.y;
|
||||
else if (newY > (clip.h - extents.h))
|
||||
newY = clip.h - extents.h;
|
||||
|
||||
RestoreScreenFromBackstore();
|
||||
extents.x = newX;
|
||||
extents.y = newY;
|
||||
SaveScreenToBackstore();
|
||||
#ifdef USE_COVERAGE_LISTS
|
||||
//If we don't do this, the coverage list doesn't move with the window...!
|
||||
ResetCoverageList();
|
||||
#endif
|
||||
// SDL_BlitSurface(screen, &extents, backstore, NULL);
|
||||
Draw();
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
// Handle the items this window contains...
|
||||
// for(uint32_t i=0; i<list.size(); i++)
|
||||
// Make coords relative to upper right corner of this window...
|
||||
// list[i]->HandleMouseMove(x - extents.x, y - extents.y);
|
||||
Window::HandleMouseMove(x, y);
|
||||
}
|
||||
|
||||
void DraggableWindow2::HandleMouseButton(uint32_t x, uint32_t y, bool mouseDown)
|
||||
{
|
||||
clicked = false;
|
||||
|
||||
if (mouseDown && Inside(x, y))
|
||||
{
|
||||
clicked = true;
|
||||
offset.x = x - extents.x;
|
||||
offset.y = y - extents.y;
|
||||
}
|
||||
|
||||
// Handle the items this window contains...
|
||||
for(uint32_t i=0; i<list.size(); i++)
|
||||
{
|
||||
// Make coords relative to upper right corner of this window...
|
||||
list[i]->HandleMouseButton(x - extents.x, y - extents.y, mouseDown);
|
||||
|
||||
if (list[i]->Inside(x - extents.x, y - extents.y))
|
||||
clicked = false;
|
||||
}
|
||||
}
|
||||
|
||||
void DraggableWindow2::Draw(void)
|
||||
{
|
||||
//NOTE: What we need to do here is render into a surface THEN do the blits from the coverage list. !!! FIX !!!
|
||||
#ifdef USE_COVERAGE_LISTS
|
||||
// These are *always* top level and parentless, so no need to traverse up through
|
||||
// the parent chain...
|
||||
for(std::list<SDL_Rect>::iterator i=coverList.begin(); i!=coverList.end(); i++)
|
||||
{
|
||||
SDL_Rect src, dst;
|
||||
src.x = (*i).x - extents.x, src.y = (*i).y - extents.y, src.w = (*i).w, src.h = (*i).h;
|
||||
dst.x = (*i).x, dst.y = (*i).y;
|
||||
SDL_BlitSurface(img, &src, screen, &dst);
|
||||
}
|
||||
|
||||
// HUH??!?!? The label should have been drawn into img already!!! !!! FIX !!! [DONE]
|
||||
//This doesn't get clipped at all... !!! FIX !!!
|
||||
// SDL_Rect src, dst;
|
||||
// src.x = 0, src.y = 0, src.w = label->w, src.h = label->h;
|
||||
// dst.x = extents.x + 8, dst.y = extents.y + 6;
|
||||
// SDL_BlitSurface(label, &src, screen, &dst);
|
||||
|
||||
// Handle the items this window contains...
|
||||
for(uint32_t i=0; i<list.size(); i++)
|
||||
list[i]->Draw();
|
||||
#else
|
||||
// These are *always* top level and parentless, so no need to traverse up through
|
||||
// the parent chain...
|
||||
//Perhaps we can make these parentable, put the parent traversal in the base class?
|
||||
//Prolly.
|
||||
#ifdef BACKGROUND_IMG_TEST
|
||||
SDL_Rect src, dst;
|
||||
src.x = 0, src.y = 0, src.w = extents.w, src.h = extents.h;
|
||||
dst.x = extents.x, dst.y = extents.y;
|
||||
SDL_BlitSurface(img, &src, screen, &dst);
|
||||
|
||||
//WTF? Unnecessary!
|
||||
// extern char textChar2e[];
|
||||
// uint8_t * fontAddr = (uint8_t *)textChar2e + ((128 + 32) * 7 * 8);
|
||||
// SetNewFont(Font(fontAddr, 7, 8));
|
||||
// DrawStringOpaque(screen, extents.x + 8, extents.y + 6, 0xFF000000, 0xFFFFFFFF, "Ultima III - Boo");
|
||||
// DrawStringOpaque(screen, extents.x + 8, extents.y + 14, 0xFF000000, 0xFFFFFFFF, "0123456789012345");
|
||||
// DrawStringOpaque(screen, extents.x + 8, extents.y + 22, 0xFF000000, 0xFFFFFFFF, "1234567890123456");
|
||||
// DrawStringOpaque(screen, extents.x + 8, extents.y + 30, 0xFF000000, 0xFFFFFFFF, "2345678901234567");
|
||||
// RestoreOldFont();
|
||||
#else
|
||||
SDL_FillRect(screen, &extents, bgColor);
|
||||
#endif
|
||||
|
||||
// Handle the items this window contains...
|
||||
for(uint32_t i=0; i<list.size(); i++)
|
||||
list[i]->Draw();
|
||||
#endif
|
||||
|
||||
//Prolly don't need this since the close button will do this for us...
|
||||
needToRefreshScreen = true;
|
||||
}
|
|
@ -1,32 +0,0 @@
|
|||
//
|
||||
// DRAGGABLEWINDOW2.H
|
||||
//
|
||||
// Graphical User Interface window class
|
||||
//
|
||||
|
||||
#ifndef __DRAGGABLEWINDOW2_H__
|
||||
#define __DRAGGABLEWINDOW2_H__
|
||||
|
||||
#include "window.h"
|
||||
#include <vector>
|
||||
|
||||
class DraggableWindow2: public Window
|
||||
{
|
||||
public:
|
||||
DraggableWindow2(uint32_t x = 0, uint32_t y = 0, uint32_t w = 0, uint32_t h = 0,
|
||||
void (* f)(Element *) = NULL);
|
||||
~DraggableWindow2(); // Does this destructor need to be virtual? No, it doesn't!
|
||||
virtual void HandleMouseMove(uint32_t x, uint32_t y);
|
||||
virtual void HandleMouseButton(uint32_t x, uint32_t y, bool mouseDown);
|
||||
virtual void Draw(void);
|
||||
|
||||
protected:
|
||||
bool clicked;
|
||||
SDL_Rect offset;
|
||||
|
||||
private:
|
||||
SDL_Surface * img;
|
||||
// SDL_Surface * label;
|
||||
};
|
||||
|
||||
#endif // __DRAGGABLEWINDOW2_H__
|
|
@ -1,332 +0,0 @@
|
|||
//
|
||||
// ELEMENT.CPP
|
||||
//
|
||||
// Graphical User Interface base class
|
||||
// by James Hammons
|
||||
//
|
||||
// JLH = James Hammons <jlhamm@acm.org>
|
||||
//
|
||||
// WHO WHEN WHAT
|
||||
// --- ---------- ------------------------------------------------------------
|
||||
// JLH 02/02/2006 Created this file
|
||||
// JLH 02/13/2006 Added backbuffer and rendering functions
|
||||
// JLH 03/02/2006 Moved backbuffer destruction to destructor, added parent
|
||||
// corner discovery
|
||||
//
|
||||
|
||||
#include "element.h"
|
||||
#include "guimisc.h" // Various support functions
|
||||
|
||||
#if SDL_BYTEORDER == SDL_BIG_ENDIAN
|
||||
#define MASK_R 0xFF000000
|
||||
#define MASK_G 0x00FF0000
|
||||
#define MASK_B 0x0000FF00
|
||||
#define MASK_A 0x000000FF
|
||||
#else
|
||||
#define MASK_R 0x000000FF
|
||||
#define MASK_G 0x0000FF00
|
||||
#define MASK_B 0x00FF0000
|
||||
#define MASK_A 0xFF000000
|
||||
#endif
|
||||
|
||||
//#define DEBUG_ELEMENT
|
||||
|
||||
#ifdef DEBUG_ELEMENT
|
||||
#include "log.h"
|
||||
#endif
|
||||
|
||||
// Initialize class variables
|
||||
|
||||
SDL_Surface * Element::screen = NULL;
|
||||
bool Element::needToRefreshScreen = false;
|
||||
|
||||
Element::Element(uint32_t x/*= 0*/, uint32_t y/*= 0*/, uint32_t w/*= 0*/, uint32_t h/*= 0*/,
|
||||
Element * parentElement/*= NULL*/): parent(parentElement), backstore(NULL), visible(true)
|
||||
{
|
||||
extents.x = x,
|
||||
extents.y = y,
|
||||
extents.w = w,
|
||||
extents.h = h;
|
||||
coverList.push_back(extents);
|
||||
}
|
||||
|
||||
Element::Element(uint32_t x, uint32_t y, uint32_t w, uint32_t h,
|
||||
uint8_t fgR/*= 0xFF*/, uint8_t fgG/*= 0xFF*/, uint8_t fgB/*= 0xFF*/, uint8_t fgA/*= 0xFF*/,
|
||||
uint8_t bgR/*= 0x00*/, uint8_t bgG/*= 0x00*/, uint8_t bgB/*= 0x00*/, uint8_t bgA/*= 0xFF*/,
|
||||
Element * parentElement/*= NULL*/): parent(parentElement), backstore(NULL), visible(true)
|
||||
{
|
||||
extents.x = x,
|
||||
extents.y = y,
|
||||
extents.w = w,
|
||||
extents.h = h;
|
||||
coverList.push_back(extents);
|
||||
|
||||
#if 0
|
||||
// This *should* allow us to store our colors in an endian safe way... :-/
|
||||
uint8_t * c = (uint8_t *)&fgColor;
|
||||
c[0] = fgR, c[1] = fgG, c[2] = fgB, c[3] = fgA;
|
||||
c = (uint8_t *)&bgColor;
|
||||
c[0] = bgR, c[1] = bgG, c[2] = bgB, c[3] = bgA;
|
||||
#else
|
||||
fgColor = SDL_MapRGBA(screen->format, fgR, fgG, fgB, fgA);
|
||||
bgColor = SDL_MapRGBA(screen->format, bgR, bgG, bgB, bgA);
|
||||
#endif
|
||||
}
|
||||
|
||||
Element::~Element()
|
||||
{
|
||||
if (backstore)
|
||||
{
|
||||
RestoreScreenFromBackstore();
|
||||
SDL_FreeSurface(backstore);
|
||||
needToRefreshScreen = true;
|
||||
}
|
||||
}
|
||||
|
||||
bool Element::Inside(uint32_t x, uint32_t y)
|
||||
{
|
||||
return (x >= (uint32_t)extents.x && x < (uint32_t)(extents.x + extents.w)
|
||||
&& y >= (uint32_t)extents.y && y < (uint32_t)(extents.y + extents.h) ? true : false);
|
||||
}
|
||||
|
||||
//Badly named--!!! FIX !!! [DONE]
|
||||
//SDL_Rect Element::GetParentCorner(void)
|
||||
SDL_Rect Element::GetScreenCoords(void)
|
||||
{
|
||||
SDL_Rect rect;
|
||||
rect.x = extents.x, rect.y = extents.y;
|
||||
|
||||
// First, traverse the parent tree to get the absolute screen address...
|
||||
|
||||
Element * currentParent = parent;
|
||||
|
||||
while (currentParent)
|
||||
{
|
||||
rect.x += currentParent->extents.x;
|
||||
rect.y += currentParent->extents.y;
|
||||
currentParent = currentParent->parent;
|
||||
}
|
||||
|
||||
return rect;
|
||||
}
|
||||
|
||||
#if 1
|
||||
//May use this in the future...
|
||||
SDL_Rect Element::GetParentRect(void)
|
||||
{
|
||||
// If there is no parent, then return the entire screen as the parent's
|
||||
// rectangle.
|
||||
|
||||
SDL_Rect rect;
|
||||
rect.x = 0, rect.y = 0, rect.w = screen->w, rect.h = screen->h;
|
||||
|
||||
if (parent)
|
||||
{
|
||||
rect.x = parent->extents.x;
|
||||
rect.y = parent->extents.y;
|
||||
rect.w = parent->extents.w;
|
||||
rect.h = parent->extents.h;
|
||||
}
|
||||
|
||||
return rect;
|
||||
}
|
||||
#endif
|
||||
|
||||
SDL_Rect Element::GetExtents(void)
|
||||
{
|
||||
return extents;
|
||||
}
|
||||
|
||||
//kludge
|
||||
#include "settings.h"
|
||||
void Element::CreateBackstore(void)
|
||||
{
|
||||
backstore = SDL_CreateRGBSurface(SDL_SWSURFACE, extents.w, extents.h, 32,
|
||||
MASK_R, MASK_G, MASK_B, 0x00);
|
||||
//#define TEST_GL
|
||||
#ifdef TEST_GL
|
||||
printf("Element: About to do SDL_BlitSurface...\n");
|
||||
#endif
|
||||
//kludge
|
||||
if (settings.useOpenGL)
|
||||
return;
|
||||
|
||||
//Since screen is the main screen surface, OpenGL doesn't like it being touched.
|
||||
//How to fix? Dunno.
|
||||
SDL_BlitSurface(screen, &extents, backstore, NULL);
|
||||
#ifdef TEST_GL
|
||||
printf("Element: SDL_BlitSurface...Done.\n");
|
||||
#endif
|
||||
}
|
||||
|
||||
void Element::RestoreScreenFromBackstore(void)
|
||||
{
|
||||
SDL_Rect r;
|
||||
|
||||
r.x = extents.x;
|
||||
r.y = extents.y;
|
||||
SDL_BlitSurface(backstore, NULL, screen, &r);
|
||||
}
|
||||
|
||||
void Element::SaveScreenToBackstore(void)
|
||||
{
|
||||
SDL_BlitSurface(screen, &extents, backstore, NULL);
|
||||
}
|
||||
|
||||
void Element::ResetCoverageList(void)
|
||||
{
|
||||
// Setup our coverage list with the entire window area
|
||||
coverList.empty();
|
||||
coverList.push_back(extents);
|
||||
}
|
||||
|
||||
void Element::AdjustCoverageList(SDL_Rect r)
|
||||
{
|
||||
//Prolly should have a bool here to set whether or not to do this crap, since it
|
||||
//takes a little time...
|
||||
|
||||
// Here's where we do the coverage list voodoo... :-)
|
||||
|
||||
/*
|
||||
Steps:
|
||||
o Check for intersection. If no intersection, then no need to divide rects.
|
||||
o Loop through current rects. If rect is completely inside passed in rect, remove from list.
|
||||
o Loop through remaining rects. If rect intersects, decompose to four rects and
|
||||
exclude degenerate rects, push rest into the coverage list.
|
||||
|
||||
*/
|
||||
// std::list<Element *>::reverse_iterator ri;
|
||||
// std::list<SDL_Rect>::iterator i;
|
||||
|
||||
// Loop through rects and remove those completely covered by passed in rect.
|
||||
/* for(i=coverList.begin(); i!=coverList.end(); i++)
|
||||
{
|
||||
// if (RectanglesIntersect(r, *i))
|
||||
if (RectangleFirstInsideSecond(*i, r))
|
||||
{
|
||||
//This is not right--do a while loop instead of a for loop?
|
||||
// Remove it from the list...
|
||||
std::list<SDL_Rect>::iterator next = coverList.erase(i);
|
||||
}
|
||||
}
|
||||
*/
|
||||
// Loop through rects and remove those completely covered by passed in rect.
|
||||
std::list<SDL_Rect>::iterator i = coverList.begin();
|
||||
|
||||
while (i != coverList.end())
|
||||
{
|
||||
if (RectangleFirstInsideSecond(*i, r))
|
||||
i = coverList.erase(i); // This will also advance i to the next item!
|
||||
else
|
||||
i++;
|
||||
}
|
||||
|
||||
//This may not be needed if nothing follows the loop below...!
|
||||
// if (coverList.empty())
|
||||
// return;
|
||||
|
||||
// Check for intersection. If no intersection, then no need to divide rects.
|
||||
i = coverList.begin();
|
||||
|
||||
while (i != coverList.end())
|
||||
{
|
||||
if (RectanglesIntersect(r, *i))
|
||||
{
|
||||
// Do the decomposition here. There will always be at least *one* rectangle
|
||||
// generated by this algorithm, so we know we're OK in removing the original
|
||||
// from the list. The general pattern looks like this:
|
||||
//
|
||||
// +------+
|
||||
// |1 |
|
||||
// +-+--+-+
|
||||
// |2|//|3| <- Rectangle "r" is in the center
|
||||
// +-+--+-+
|
||||
// |4 |
|
||||
// +------+
|
||||
//
|
||||
// Even if r extends beyond the bounds of the rectangle under consideration,
|
||||
// that's OK because we test to see that the rectangle isn't degenerate
|
||||
// before adding it to the list.
|
||||
|
||||
//Should probably use a separate list here and splice it in when we're done here...
|
||||
//Or, could use push_front() to avoid the problem... Neat! Doesn't require a separate list!
|
||||
//But, we need to remove the currently referenced rect... Another while loop!
|
||||
|
||||
//This approach won't work--if no rect1 then we're screwed! [FIXED]
|
||||
//Now *that* will work...
|
||||
SDL_Rect current = *i;
|
||||
uint32_t bottomOfRect1 = current.y;
|
||||
// uint32_t rightOfRect2 = current.x;
|
||||
// uint32_t leftOfRect3 = current.x + current.w;
|
||||
uint32_t topOfRect4 = current.y + current.h;
|
||||
|
||||
// Rectangle #1 (top)
|
||||
if (r.y > current.y) // Simple rectangle degeneracy test...
|
||||
{
|
||||
bottomOfRect1 = r.y;
|
||||
SDL_Rect rect = current;
|
||||
rect.h = r.y - current.y;
|
||||
coverList.push_front(rect);
|
||||
}
|
||||
|
||||
// Rectangle #4 (bottom)
|
||||
if (r.y + r.h < current.y + current.h)
|
||||
{
|
||||
topOfRect4 = r.y + r.h;
|
||||
SDL_Rect rect = current;
|
||||
rect.y = r.y + r.h;
|
||||
rect.h = (current.y + current.h) - (r.y + r.h);
|
||||
coverList.push_front(rect);
|
||||
}
|
||||
|
||||
// Rectangle #2 (left side)
|
||||
if (r.x > current.x)
|
||||
{
|
||||
SDL_Rect rect = current;
|
||||
rect.w = r.x - current.x;
|
||||
rect.y = bottomOfRect1;
|
||||
rect.h = topOfRect4 - bottomOfRect1;
|
||||
coverList.push_front(rect);
|
||||
}
|
||||
|
||||
// Rectangle #3 (right side)
|
||||
if (r.x + r.w < current.x + current.w)
|
||||
{
|
||||
SDL_Rect rect;
|
||||
rect.x = r.x + r.w;
|
||||
rect.w = (current.x + current.w) - (r.x + r.w);
|
||||
rect.y = bottomOfRect1;
|
||||
rect.h = topOfRect4 - bottomOfRect1;
|
||||
coverList.push_front(rect);
|
||||
}
|
||||
|
||||
i = coverList.erase(i); // This will also advance i to the next item!
|
||||
}
|
||||
else
|
||||
i++;
|
||||
}
|
||||
}
|
||||
|
||||
void Element::SetVisible(bool visibility)
|
||||
{
|
||||
visible = visibility;
|
||||
}
|
||||
|
||||
//
|
||||
// Class methods
|
||||
//
|
||||
|
||||
void Element::SetScreen(SDL_Surface * s)
|
||||
{
|
||||
screen = s;
|
||||
}
|
||||
|
||||
bool Element::ScreenNeedsRefreshing(void)
|
||||
{
|
||||
return needToRefreshScreen;
|
||||
}
|
||||
|
||||
void Element::ScreenWasRefreshed(void)
|
||||
{
|
||||
needToRefreshScreen = false;
|
||||
}
|
|
@ -1,70 +0,0 @@
|
|||
//
|
||||
// ELEMENT.H
|
||||
//
|
||||
// Graphical User Interface base class
|
||||
// All GUI elements are derived from this base class.
|
||||
//
|
||||
|
||||
#ifndef __ELEMENT_H__
|
||||
#define __ELEMENT_H__
|
||||
|
||||
// These are various GUI messages that can be sent to the SDL event handler
|
||||
|
||||
enum { WINDOW_CLOSE, MENU_ITEM_CHOSEN, SCREEN_REFRESH_NEEDED };
|
||||
|
||||
#include <SDL2/SDL.h>
|
||||
#include <list>
|
||||
#include <stdint.h>
|
||||
|
||||
class Element
|
||||
{
|
||||
public:
|
||||
Element(uint32_t x = 0, uint32_t y = 0, uint32_t w = 0, uint32_t h = 0,
|
||||
Element * parentElement = NULL);
|
||||
Element(uint32_t x, uint32_t y, uint32_t w, uint32_t h,
|
||||
uint8_t fgR = 0xFF, uint8_t fgG = 0xFF, uint8_t fgB = 0xFF, uint8_t fgA = 0xFF,
|
||||
uint8_t bgR = 0x00, uint8_t bgG = 0x00, uint8_t bgB = 0x00, uint8_t bgA = 0xFF,
|
||||
Element * parentElement = NULL);
|
||||
virtual ~Element(); // Destructor cannot be pure virtual...
|
||||
virtual void HandleKey(SDL_Scancode key) = 0; // These are "pure" virtual functions...
|
||||
virtual void HandleMouseMove(uint32_t x, uint32_t y) = 0;
|
||||
virtual void HandleMouseButton(uint32_t x, uint32_t y, bool mouseDown) = 0;
|
||||
virtual void Draw(void) = 0;
|
||||
virtual void Notify(Element *) = 0;
|
||||
bool Inside(uint32_t x, uint32_t y);
|
||||
//Badly named, though we may code something that does this...
|
||||
// SDL_Rect GetParentCorner(void);
|
||||
SDL_Rect GetScreenCoords(void);
|
||||
SDL_Rect GetExtents(void);
|
||||
#if 1
|
||||
//May use this in the future...
|
||||
SDL_Rect GetParentRect(void);
|
||||
#endif
|
||||
void CreateBackstore(void);
|
||||
void RestoreScreenFromBackstore(void);
|
||||
void SaveScreenToBackstore(void);
|
||||
void ResetCoverageList(void);
|
||||
//Need something to prevent this on Elements that don't have mouseover effects...
|
||||
void AdjustCoverageList(SDL_Rect r);
|
||||
void SetVisible(bool);
|
||||
// Class methods...
|
||||
static void SetScreen(SDL_Surface *);
|
||||
static bool ScreenNeedsRefreshing(void);
|
||||
static void ScreenWasRefreshed(void);
|
||||
|
||||
protected:
|
||||
SDL_Rect extents;
|
||||
uint32_t state;
|
||||
Element * parent;
|
||||
uint32_t fgColor;
|
||||
uint32_t bgColor;
|
||||
SDL_Surface * backstore;
|
||||
std::list<SDL_Rect> coverList;
|
||||
bool visible;
|
||||
|
||||
// Class variables...
|
||||
static SDL_Surface * screen;
|
||||
static bool needToRefreshScreen;
|
||||
};
|
||||
|
||||
#endif // __ELEMENT_H__
|
262
src/gui/font1.h
262
src/gui/font1.h
|
@ -1,262 +0,0 @@
|
|||
//
|
||||
// This file was automagically generated by bin2c (by James Hammons)
|
||||
//
|
||||
|
||||
char font1[0x4000] = {
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x02, 0x02, 0x02, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, 0x02, 0x02, 0x02, 0x00, 0x02, 0x02, 0x00, 0x02, 0x00, 0x00, 0x02, 0x00, 0x02, 0x02, 0x00, 0x02, 0x00, 0x00, 0x02, 0x00, 0x02, 0x02, 0x00, 0x02, 0x02, 0x02, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x00, 0x00, 0x02, 0x02, 0x02, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x02, 0x02, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x00, 0x00, 0x02, 0x02, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00,
|
||||
0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00,
|
||||
0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x02, 0x00, 0x00, 0x02, 0x00, 0x00, 0x02, 0x00, 0x00, 0x02, 0x00, 0x00, 0x02, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01
|
||||
};
|
|
@ -18,6 +18,7 @@
|
|||
// - Multiple window handling [DONE]
|
||||
//
|
||||
|
||||
#if 0
|
||||
#include "gui.h"
|
||||
#include "menu.h" // Element class methods are pulled in here...
|
||||
#include "window.h"
|
||||
|
@ -480,7 +481,7 @@ void GUI::Stop(void)
|
|||
{
|
||||
exitGUI = true;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
//
|
||||
|
@ -501,6 +502,13 @@ struct Bitmap {
|
|||
};
|
||||
|
||||
|
||||
#include "gui.h"
|
||||
#include "apple2.h"
|
||||
#include "applevideo.h"
|
||||
#include "diskselector.h"
|
||||
#include "log.h"
|
||||
#include "video.h"
|
||||
|
||||
// Icons, in GIMP "C" format
|
||||
#include "gfx/icon-selection.c"
|
||||
#include "gfx/disk-icon.c"
|
||||
|
|
|
@ -10,6 +10,7 @@
|
|||
#include <SDL2/SDL.h>
|
||||
#include <list>
|
||||
|
||||
#if 0
|
||||
class Menu; // Now *this* should work, since we've got pointers...
|
||||
class MenuItems;
|
||||
class Element;
|
||||
|
@ -34,7 +35,7 @@ class GUI
|
|||
bool showMouse;
|
||||
SDL_Rect mouse, oldMouse;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
class GUI2
|
||||
{
|
||||
|
|
|
@ -1,343 +0,0 @@
|
|||
//
|
||||
// GUIELEMENTS.H
|
||||
//
|
||||
// Graphical User Interface bitmaps and such
|
||||
//
|
||||
|
||||
#ifndef __GUIELEMENTS_H__
|
||||
#define __GUIELEMENTS_H__
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
// Okay, this is ugly but works and I can't think of any better way to handle this. So what
|
||||
// we do when we pass the GIMP bitmaps into a function is pass them as a (void *) and then
|
||||
// cast them as type (Bitmap *) in order to use them. Yes, it's ugly. Come up with something
|
||||
// better!
|
||||
|
||||
struct Bitmap {
|
||||
unsigned int width;
|
||||
unsigned int height;
|
||||
unsigned int bytesPerPixel; // 3:RGB, 4:RGBA
|
||||
unsigned char pixelData[];
|
||||
};
|
||||
|
||||
//NOTE: 32-bit pixels are in the format of ABGR...
|
||||
// This may not be endian safe... Mac users?
|
||||
//Using the GIMP C style bitmap is portable in that it's specified in bytes
|
||||
//but we can cast it in uint32_ts and thus it will display correctly regardless of
|
||||
//the underlying endianess. At least, in theory. ;-)
|
||||
|
||||
uint32_t mousePic[] = {
|
||||
6, 8,
|
||||
|
||||
0xFF00FF00,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000, // +
|
||||
0xFF00C600,0xFF00FF00,0x00000000,0x00000000,0x00000000,0x00000000, // @+
|
||||
0xFF00C600,0xFF00FF00,0xFF00FF00,0x00000000,0x00000000,0x00000000, // @++
|
||||
0xFF00C600,0xFF00C600,0xFF00FF00,0xFF00FF00,0x00000000,0x00000000, // @@++
|
||||
0xFF00C600,0xFF00C600,0xFF00FF00,0xFF00FF00,0xFF00FF00,0x00000000, // @@+++
|
||||
0xFF00C600,0xFF00C600,0xFF00C600,0xFF00FF00,0xFF00FF00,0xFF00FF00, // @@@+++
|
||||
0xFF00C600,0xFF00C600,0xFF00C600,0x00000000,0x00000000,0x00000000, // @@@
|
||||
0xFF00C600,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000 // @
|
||||
/*
|
||||
0x03E0,0x0000,0x0000,0x0000,0x0000,0x0000, // +
|
||||
0x0300,0x03E0,0x0000,0x0000,0x0000,0x0000, // @+
|
||||
0x0300,0x03E0,0x03E0,0x0000,0x0000,0x0000, // @++
|
||||
0x0300,0x0300,0x03E0,0x03E0,0x0000,0x0000, // @@++
|
||||
0x0300,0x0300,0x03E0,0x03E0,0x03E0,0x0000, // @@+++
|
||||
0x0300,0x0300,0x0300,0x03E0,0x03E0,0x03E0, // @@@+++
|
||||
0x0300,0x0300,0x0300,0x0000,0x0000,0x0000, // @@@
|
||||
0x0300,0x0000,0x0000,0x0000,0x0000,0x0000 // @
|
||||
|
||||
0xFFFF,0x0000,0x0000,0x0000,0x0000,0x0000, // +
|
||||
0xE318,0xFFFF,0x0000,0x0000,0x0000,0x0000, // @+
|
||||
0xE318,0xFFFF,0xFFFF,0x0000,0x0000,0x0000, // @++
|
||||
0xE318,0xE318,0xFFFF,0xFFFF,0x0000,0x0000, // @@++
|
||||
0xE318,0xE318,0xFFFF,0xFFFF,0xFFFF,0x0000, // @@+++
|
||||
0xE318,0xE318,0xE318,0xFFFF,0xFFFF,0xFFFF, // @@@+++
|
||||
0xE318,0xE318,0xE318,0x0000,0x0000,0x0000, // @@@
|
||||
0xE318,0x0000,0x0000,0x0000,0x0000,0x0000 // @
|
||||
*/
|
||||
};
|
||||
|
||||
uint32_t upArrowBox[] = {
|
||||
8, 8,
|
||||
|
||||
0xFFF7D649,0xFFF7D649,0xFFF7D649,0xFFF7D649,0xFFF7D649,0xFFF7D649,0xFFF7D649,0xFFF7D649, // ++++++++
|
||||
0xFFF7D649,0x00000000,0x00000000,0xFFFFFFFF,0xFFFFFFFF,0x00000000,0x00000000,0xFFBD8400, // + @@ .
|
||||
0xFFF7D649,0x00000000,0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,0x00000000,0xFFBD8400, // + @@@@ .
|
||||
0xFFF7D649,0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,0xFFBD8400, // +@@@@@@.
|
||||
0xFFF7D649,0x00000000,0x00000000,0xFFFFFFFF,0xFFFFFFFF,0x00000000,0x00000000,0xFFBD8400, // + @@ .
|
||||
0xFFF7D649,0x00000000,0x00000000,0xFFFFFFFF,0xFFFFFFFF,0x00000000,0x00000000,0xFFBD8400, // + @@ .
|
||||
0xFFF7D649,0x00000000,0x00000000,0xFFFFFFFF,0xFFFFFFFF,0x00000000,0x00000000,0xFFBD8400, // + @@ .
|
||||
0xFFBD8400,0xFFBD8400,0xFFBD8400,0xFFBD8400,0xFFBD8400,0xFFBD8400,0xFFBD8400,0xFFBD8400 // ........
|
||||
};
|
||||
|
||||
uint32_t downArrowBox[] = {
|
||||
8, 8,
|
||||
|
||||
0xFFF7D649,0xFFF7D649,0xFFF7D649,0xFFF7D649,0xFFF7D649,0xFFF7D649,0xFFF7D649,0xFFF7D649, // ++++++++
|
||||
0xFFF7D649,0x00000000,0x00000000,0xFFFFFFFF,0xFFFFFFFF,0x00000000,0x00000000,0xFFBD8400, // + @@ .
|
||||
0xFFF7D649,0x00000000,0x00000000,0xFFFFFFFF,0xFFFFFFFF,0x00000000,0x00000000,0xFFBD8400, // + @@ .
|
||||
0xFFF7D649,0x00000000,0x00000000,0xFFFFFFFF,0xFFFFFFFF,0x00000000,0x00000000,0xFFBD8400, // + @@ .
|
||||
0xFFF7D649,0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,0xFFBD8400, // +@@@@@@.
|
||||
0xFFF7D649,0x00000000,0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,0x00000000,0xFFBD8400, // + @@@@ .
|
||||
0xFFF7D649,0x00000000,0x00000000,0xFFFFFFFF,0xFFFFFFFF,0x00000000,0x00000000,0xFFBD8400, // + @@ .
|
||||
0xFFBD8400,0xFFBD8400,0xFFBD8400,0xFFBD8400,0xFFBD8400,0xFFBD8400,0xFFBD8400,0xFFBD8400 // ........
|
||||
};
|
||||
|
||||
/* GIMP RGBA C-Source image dump (unlit button (16x16).png.c) */
|
||||
|
||||
static const struct {
|
||||
unsigned int width;
|
||||
unsigned int height;
|
||||
unsigned int bytes_per_pixel; /* 3:RGB, 4:RGBA */
|
||||
unsigned char pixel_data[16 * 16 * 4 + 1];
|
||||
} pbUp = {
|
||||
16, 16, 4,
|
||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\26\26\26\40`__\203\205rr\305\216mm\344\205"
|
||||
"cc\345kWW\306@??\202\16\16\16\37\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
||||
"\0\0\0\0\2\2\2\4nll\205\277\217\217\372\251LL\377\23588\377\23155\377\227"
|
||||
"22\377\22600\377\22477\377\204UU\371>;;\203\1\1\1\3\0\0\0\0\0\0\0\0\0\0\0"
|
||||
"\0\2\2\2\4\225\215\215\260\271hh\377\234==\377\22499\377\22366\377\22233"
|
||||
"\377\22111\377\221//\377\220--\377\221,,\377\213==\377SJJ\254\1\1\1\4\0\0"
|
||||
"\0\0\0\0\0\0omm\205\271hh\377\231==\377\224::\377\22377\377\22344\377\223"
|
||||
"22\377\22100\377\220..\377\220--\377\220,,\377\220++\377\213<<\377=;;\204"
|
||||
"\0\0\0\0\27\27\27\"\301\220\220\372\234==\377\224::\377\22388\377\22555\377"
|
||||
"\22533\377\22411\377\223//\377\222--\377\220,,\377\220++\377\221**\377\222"
|
||||
"**\377\204RR\372\16\16\16\37baa\205\252MM\377\224::\377\22377\377\22655\377"
|
||||
"\22433\377\22111\377\216//\377\214..\377\214,,\377\217++\377\221++\377\221"
|
||||
"**\377\224**\377\22422\377=<<\203\207tt\307\23599\377\22366\377\22355\377"
|
||||
"\22533\377\22111\377\215//\377\213..\377\213--\377\212,,\377\212++\377\221"
|
||||
"**\377\222**\377\226**\377\227**\377dNN\306\222oo\344\23155\377\22244\377"
|
||||
"\22322\377\22411\377\216//\377\213..\377\213--\377\212,,\377\212++\377\212"
|
||||
"**\377\220**\377\223**\377\230))\377\231**\377xTT\345\210ff\345\23033\377"
|
||||
"\22111\377\22100\377\223//\377\215..\377\213--\377\212,,\377\212++\377\212"
|
||||
"**\377\212**\377\221**\377\224))\377\232))\377\233))\377yTT\344lYY\304\230"
|
||||
"11\377\221//\377\220..\377\222--\377\215,,\377\212,,\377\212++\377\212**"
|
||||
"\377\212**\377\211**\377\224))\377\226))\377\235))\377\235**\377dNN\305?"
|
||||
">>\177\230;;\377\220..\377\220--\377\220,,\377\217++\377\212++\377\212**"
|
||||
"\377\212**\377\212**\377\222))\377\225))\377\234))\377\237))\377\23455\377"
|
||||
";;;\200\15\15\15\34\207YY\367\222--\377\220,,\377\220++\377\221++\377\222"
|
||||
"**\377\220**\377\221**\377\224))\377\224))\377\232))\377\237))\377\237**"
|
||||
"\377\211UU\367\14\14\14\34\0\0\0\0:88{\221CC\377\220++\377\221++\377\221"
|
||||
"**\377\222**\377\223**\377\224))\377\226))\377\234))\377\237))\377\237))"
|
||||
"\377\232AA\377988{\0\0\0\0\0\0\0\0\1\1\1\2NGG\243\221CC\377\223++\377\224"
|
||||
"**\377\226**\377\227))\377\232))\377\235))\377\236))\377\237**\377\232BB"
|
||||
"\377OGG\244\1\1\1\2\0\0\0\0\0\0\0\0\0\0\0\0\1\1\1\2""766w\204WW\365\2279"
|
||||
"9\377\231,,\377\231**\377\233**\377\236++\377\23388\377\207VV\365766w\1\1"
|
||||
"\1\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\12\12\12\30""777w]M"
|
||||
"M\272rSS\330sSS\330]MM\270777w\12\12\12\30\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
||||
"\0",
|
||||
};
|
||||
|
||||
uint32_t pushButtonUp[] = {
|
||||
8, 8,
|
||||
|
||||
0x00000000, 0xFF1B1B1B, 0xFF545477, 0xFF525292, 0xFF474787, 0xFF363659, 0xFF0F0F0F, 0x00000000,
|
||||
0xFF1B1B1C, 0xFF6666A7, 0xFF393995, 0xFF343492, 0xFF2F2F90, 0xFF2C2C90, 0xFF3B3B7E, 0xFF0F0F0F,
|
||||
0xFF555578, 0xFF3A3A95, 0xFF353594, 0xFF303091, 0xFF2D2D8F, 0xFF2B2B90, 0xFF2A2A92, 0xFF333358,
|
||||
0xFF545493, 0xFF343492, 0xFF303092, 0xFF2D2D8B, 0xFF2B2B8A, 0xFF2A2A8D, 0xFF292994, 0xFF3D3D83,
|
||||
0xFF484889, 0xFF2F2F90, 0xFF2D2D8F, 0xFF2B2B8A, 0xFF2A2A89, 0xFF29298E, 0xFF292998, 0xFF3D3D84,
|
||||
0xFF37375A, 0xFF2C2C90, 0xFF2B2B90, 0xFF2A2A8D, 0xFF29298E, 0xFF292995, 0xFF29299D, 0xFF34345B,
|
||||
0xFF0E0E0E, 0xFF3E3E7F, 0xFF2A2A92, 0xFF292994, 0xFF292998, 0xFF29299D, 0xFF3C3C88, 0xFF0E0E0E,
|
||||
0x00000000, 0xFF0D0D0D, 0xFF343456, 0xFF3D3D80, 0xFF3D3D82, 0xFF333358, 0xFF0D0D0D, 0x00000000
|
||||
};
|
||||
|
||||
uint8_t pbuAlpha[] = {
|
||||
0xFF, 0xE4, 0xA0, 0x99, 0xA4, 0xBE, 0xF0, 0xFF,
|
||||
0xE3, 0x85, 0x00, 0x00, 0x00, 0x00, 0xAF, 0xF0,
|
||||
0x9F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0,
|
||||
0x98, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xAD,
|
||||
0xA3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xAC,
|
||||
0xBD, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBF,
|
||||
0xF1, 0xAD, 0x00, 0x00, 0x00, 0x00, 0xAC, 0xF1,
|
||||
0xFF, 0xF2, 0xC0, 0xAD, 0xAD, 0xC0, 0xF2, 0xFF
|
||||
};
|
||||
|
||||
/* GIMP RGBA C-Source image dump (Lit Button (16x16).png.c) */
|
||||
|
||||
static const struct {
|
||||
unsigned int width;
|
||||
unsigned int height;
|
||||
unsigned int bytes_per_pixel; /* 3:RGB, 4:RGBA */
|
||||
unsigned char pixel_data[16 * 16 * 4 + 1];
|
||||
} pbDown = {
|
||||
16, 16, 4,
|
||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\261\261\261\36\276\276\276\200\272\272\272"
|
||||
"\302\255\255\255\343\236\236\236\343\214\214\214\302~~~\177uuu\35\0\0\0\0"
|
||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\223\223\223\3\332\332\332\200\353"
|
||||
"\353\353\371\347\323\323\377\321\224\224\377\303rr\377\274jj\377\263uu\377"
|
||||
"\237\212\212\377\205\205\205\370xxx\177ccc\3\0\0\0\0\0\0\0\0\0\0\0\0\236"
|
||||
"\236\236\3\345\345\345\252\371\362\362\377\326\203\203\377\325BB\377\353"
|
||||
"DD\377\365DD\377\365CC\377\351>>\377\31777\377\251TT\377\210\200\200\377"
|
||||
"yyy\250```\3\0\0\0\0\0\0\0\0\333\333\333\200\371\362\362\377\320cc\377\356"
|
||||
"GG\377\371HH\377\366FF\377\363CC\377\363BB\377\365AA\377\367@@\377\351<<"
|
||||
"\377\257@@\377\203{{\377www\177\0\0\0\0\261\261\261\36\354\354\354\370\326"
|
||||
"\204\204\377\356GG\377\370HH\377\362EE\377\351BB\377\340>>\377\337==\377"
|
||||
"\347>>\377\357??\377\366??\377\352;;\377\242LL\377{{{\370sss\35\300\300\300"
|
||||
"\200\350\324\324\377\326BB\377\371HH\377\362EE\377\341@@\377\324<<\377\326"
|
||||
"<<\377\325;;\377\32199\377\335;;\377\360>>\377\370??\377\32033\377\205pp"
|
||||
"\377xxx\177\274\274\274\302\322\225\225\377\353DD\377\366FF\377\351BB\377"
|
||||
"\324<<\377\331==\377\335>>\377\335==\377\330;;\377\32088\377\347<<\377\365"
|
||||
">>\377\353::\377\225UU\377xxx\303\260\260\260\343\305tt\377\366EE\377\363"
|
||||
"DD\377\340>>\377\326<<\377\335>>\377\342??\377\342>>\377\334<<\377\32388"
|
||||
"\377\33599\377\363>>\377\371==\377\237II\377yyy\343\237\237\237\343\275l"
|
||||
"l\377\365CC\377\363BB\377\337==\377\325;;\377\335==\377\342>>\377\342>>\377"
|
||||
"\334<<\377\32388\377\33699\377\364>>\377\372==\377\240II\377yyy\343\216\216"
|
||||
"\216\303\264vv\377\352??\377\365AA\377\347>>\377\32199\377\330;;\377\334"
|
||||
"<<\377\334<<\377\327::\377\31777\377\350;;\377\371>>\377\357;;\377\227UU"
|
||||
"\377xxx\302~~~\200\240\214\214\377\32188\377\367@@\377\357??\377\335;;\377"
|
||||
"\32088\377\32388\377\32388\377\31777\377\33799\377\362==\377\376>>\377\326"
|
||||
"55\377\204nn\377www\177vvv\34\205\205\205\370\253UU\377\353==\377\366??\377"
|
||||
"\360>>\377\347<<\377\33599\377\33699\377\350;;\377\362==\377\375>>\377\362"
|
||||
";;\377\246HH\377zzz\370rrr\36\0\0\0\0xxx\177\210\200\200\377\261AA\377\353"
|
||||
"==\377\370??\377\365>>\377\363>>\377\364>>\377\370>>\377\376>>\377\362<<"
|
||||
"\377\266<<\377~uu\377www\177\0\0\0\0\0\0\0\0ddd\3yyy\250\203{{\377\243MM"
|
||||
"\377\32155\377\354<<\377\371>>\377\372>>\377\357;;\377\32755\377\246HH\377"
|
||||
"~uu\377xxx\250___\3\0\0\0\0\0\0\0\0\0\0\0\0hhh\3www\177{{{\370\205pp\377"
|
||||
"\225UU\377\237JJ\377\240JJ\377\227UU\377\204nn\377zzz\370www\177```\3\0\0"
|
||||
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0ttt\35www\200xxx\303yyy\343y"
|
||||
"yy\343xxx\303xxx\177sss\35\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0",
|
||||
};
|
||||
|
||||
uint32_t pushButtonDown[] = {
|
||||
8, 8,
|
||||
|
||||
0x00000000, 0xFF1B1B1B, 0xFF8B8B90, 0xFF8C8CAF, 0xFF767699, 0xFF56565B, 0xFF0F0F0F, 0x00000000,
|
||||
0xFF1B1B1B, 0xFFB8B8D6, 0xFF5555E4, 0xFF4444F2, 0xFF4040F1, 0xFF4141D5, 0xFF626282, 0xFF0F0F0F,
|
||||
0xFF8C8C91, 0xFF5555E4, 0xFF4444EF, 0xFF3E3EDC, 0xFF3B3BDB, 0xFF3D3DEC, 0xFF3E3ED4, 0xFF4B4B51,
|
||||
0xFF8D8DB1, 0xFF4444F2, 0xFF3E3EDC, 0xFF3E3EDD, 0xFF3C3CDC, 0xFF3939D9, 0xFF3C3CF3, 0xFF59597E,
|
||||
0xFF77779B, 0xFF4141F1, 0xFF3B3BDB, 0xFF3C3CDC, 0xFF3B3BDC, 0xFF3838D9, 0xFF3C3CF5, 0xFF595980,
|
||||
0xFF57575D, 0xFF4242D8, 0xFF3D3DEC, 0xFF3939D9, 0xFF3838D9, 0xFF3C3CEF, 0xFF3D3DDC, 0xFF4C4C52,
|
||||
0xFF101010, 0xFF636385, 0xFF3E3ED8, 0xFF3D3DF4, 0xFF3D3DF6, 0xFF3D3DDD, 0xFF5D5D83, 0xFF101010,
|
||||
0x00000000, 0xFF101010, 0xFF4E4E55, 0xFF5B5B83, 0xFF5B5B84, 0xFF4D4D54, 0xFF101010, 0x00000000
|
||||
};
|
||||
|
||||
uint8_t pbdAlpha[] = {
|
||||
0xFF, 0xE4, 0x72, 0x68, 0x7E, 0xA7, 0xF0, 0xFF,
|
||||
0xE4, 0x3E, 0x00, 0x00, 0x00, 0x00, 0x93, 0xF0,
|
||||
0x71, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB2,
|
||||
0x67, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9A,
|
||||
0x7D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9A,
|
||||
0xA6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB1,
|
||||
0xEF, 0x91, 0x00, 0x00, 0x00, 0x00, 0x96, 0xEF,
|
||||
0xFF, 0xEF, 0xAE, 0x98, 0x97, 0xAF, 0xEF, 0xFF
|
||||
};
|
||||
|
||||
uint32_t slideSwitchUp[] = {
|
||||
8, 16,
|
||||
|
||||
//0C7F -> 000011 00011 11111 -> 0000 1100 0001 1000 1111 1111 -> 0C 18 FF
|
||||
0xFFF7D649,0xFFF7D649,0xFFF7D649,0xFFF7D649,0xFFF7D649,0xFFF7D649,0xFFF7D649,0xFFF7D649, // ++++++++
|
||||
0xFFF7D649,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFBD8400, // + .
|
||||
0xFFF7D649,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFBD8400, // + .
|
||||
0xFFF7D649,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFBD8400, // + .
|
||||
0xFFF7D649,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFBD8400, // + .
|
||||
0xFFF7D649,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFBD8400, // + .
|
||||
0xFFF7D649,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFBD8400, // + .
|
||||
0xFFF7D649,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFBD8400, // + .
|
||||
0xFFF7D649,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0xFFBD8400, // +.......
|
||||
0xFFF7D649,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0xFFBD8400, // +.......
|
||||
0xFFF7D649,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0xFFBD8400, // +.......
|
||||
0xFFF7D649,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0xFFBD8400, // +.......
|
||||
0xFFF7D649,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0xFFBD8400, // +.......
|
||||
0xFFF7D649,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0xFFBD8400, // +.......
|
||||
0xFFF7D649,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0xFFBD8400, // +.......
|
||||
0xFFBD8400,0xFFBD8400,0xFFBD8400,0xFFBD8400,0xFFBD8400,0xFFBD8400,0xFFBD8400,0xFFBD8400 // ........
|
||||
};
|
||||
|
||||
uint32_t slideSwitchDown[] = {
|
||||
8, 16,
|
||||
|
||||
0xFFF7D649,0xFFF7D649,0xFFF7D649,0xFFF7D649,0xFFF7D649,0xFFF7D649,0xFFF7D649,0xFFF7D649, // ++++++++
|
||||
0xFFF7D649,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0xFFBD8400, // +.......
|
||||
0xFFF7D649,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0xFFBD8400, // +.......
|
||||
0xFFF7D649,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0xFFBD8400, // +.......
|
||||
0xFFF7D649,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0xFFBD8400, // +.......
|
||||
0xFFF7D649,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0xFFBD8400, // +.......
|
||||
0xFFF7D649,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0xFFBD8400, // +.......
|
||||
0xFFF7D649,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0xFFBD8400, // +.......
|
||||
0xFFF7D649,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFBD8400, // + .
|
||||
0xFFF7D649,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFBD8400, // + .
|
||||
0xFFF7D649,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFBD8400, // + .
|
||||
0xFFF7D649,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFBD8400, // + .
|
||||
0xFFF7D649,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFBD8400, // + .
|
||||
0xFFF7D649,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFBD8400, // + .
|
||||
0xFFF7D649,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFFF180C,0xFFBD8400, // + .
|
||||
0xFFBD8400,0xFFBD8400,0xFFBD8400,0xFFBD8400,0xFFBD8400,0xFFBD8400,0xFFBD8400,0xFFBD8400 // ........
|
||||
};
|
||||
|
||||
#define CLOSEBOX_WIDTH 15
|
||||
#define CLOSEBOX_HEIGHT 15
|
||||
|
||||
uint32_t closeBox[] = {
|
||||
15, 15,
|
||||
|
||||
0x00000000, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0x00000000,
|
||||
0xFF3838ED, 0xFF5858E7, 0xFF6B6BFB, 0xFF6B6BFB, 0xFF6B6BFB, 0xFF6B6BFB, 0xFF6B6BFB, 0xFF6B6BFB, 0xFF6B6BFB, 0xFF6B6BFB, 0xFF6B6BFB, 0xFF6B6BFB, 0xFF6B6BFB, 0xFF5858E7, 0xFF3838ED,
|
||||
0xFF3838ED, 0xFF6B6BFB, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF6B6BFB, 0xFF3838ED,
|
||||
0xFF3838ED, 0xFF6B6BFB, 0xFF000000, 0xFF3838ED, 0xFF3838ED, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF3838ED, 0xFF3838ED, 0xFF000000, 0xFF6B6BFB, 0xFF3838ED,
|
||||
0xFF3838ED, 0xFF6B6BFB, 0xFF000000, 0xFF3838ED, 0xFF6B6BFB, 0xFF3838ED, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF3838ED, 0xFF6B6BFB, 0xFF3838ED, 0xFF000000, 0xFF6B6BFB, 0xFF3838ED,
|
||||
0xFF3838ED, 0xFF6B6BFB, 0xFF000000, 0xFF000000, 0xFF3838ED, 0xFF6B6BFB, 0xFF3838ED, 0xFF000000, 0xFF3838ED, 0xFF6B6BFB, 0xFF3838ED, 0xFF000000, 0xFF000000, 0xFF6B6BFB, 0xFF3838ED,
|
||||
0xFF3838ED, 0xFF6B6BFB, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF3838ED, 0xFF6B6BFB, 0xFF3838ED, 0xFF6B6BFB, 0xFF3838ED, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF6B6BFB, 0xFF3838ED,
|
||||
0xFF3838ED, 0xFF6B6BFB, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF3838ED, 0xFF6B6BFB, 0xFF3838ED, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF6B6BFB, 0xFF3838ED,
|
||||
0xFF3838ED, 0xFF6B6BFB, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF3838ED, 0xFF6B6BFB, 0xFF3838ED, 0xFF6B6BFB, 0xFF3838ED, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF6B6BFB, 0xFF3838ED,
|
||||
0xFF3838ED, 0xFF6B6BFB, 0xFF000000, 0xFF000000, 0xFF3838ED, 0xFF6B6BFB, 0xFF3838ED, 0xFF000000, 0xFF3838ED, 0xFF6B6BFB, 0xFF3838ED, 0xFF000000, 0xFF000000, 0xFF6B6BFB, 0xFF3838ED,
|
||||
0xFF3838ED, 0xFF6B6BFB, 0xFF000000, 0xFF3838ED, 0xFF6B6BFB, 0xFF3838ED, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF3838ED, 0xFF6B6BFB, 0xFF3838ED, 0xFF000000, 0xFF6B6BFB, 0xFF3838ED,
|
||||
0xFF3838ED, 0xFF6B6BFB, 0xFF000000, 0xFF3838ED, 0xFF3838ED, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF3838ED, 0xFF3838ED, 0xFF000000, 0xFF6B6BFB, 0xFF3838ED,
|
||||
0xFF3838ED, 0xFF6B6BFB, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF6B6BFB, 0xFF3838ED,
|
||||
0xFF3838ED, 0xFF5858E7, 0xFF6B6BFB, 0xFF6B6BFB, 0xFF6B6BFB, 0xFF6B6BFB, 0xFF6B6BFB, 0xFF6B6BFB, 0xFF6B6BFB, 0xFF6B6BFB, 0xFF6B6BFB, 0xFF6B6BFB, 0xFF6B6BFB, 0xFF5858E7, 0xFF3838ED,
|
||||
0x00000000, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0x00000000
|
||||
};
|
||||
|
||||
uint32_t closeBoxHover[] = {
|
||||
15, 15,
|
||||
|
||||
0x00000000, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0x00000000,
|
||||
0xFF3838ED, 0xFF5858E7, 0xFF6B6BFB, 0xFF6B6BFB, 0xFF6B6BFB, 0xFF6B6BFB, 0xFF6B6BFB, 0xFF6B6BFB, 0xFF6B6BFB, 0xFF6B6BFB, 0xFF6B6BFB, 0xFF6B6BFB, 0xFF6B6BFB, 0xFF5858E7, 0xFF3838ED,
|
||||
0xFF3838ED, 0xFF6B6BFB, 0xFF20A2FF, 0xFF20A2FF, 0xFF20A2FF, 0xFF20A2FF, 0xFF20A2FF, 0xFF20A2FF, 0xFF20A2FF, 0xFF20A2FF, 0xFF20A2FF, 0xFF20A2FF, 0xFF20A2FF, 0xFF6B6BFB, 0xFF3838ED,
|
||||
0xFF3838ED, 0xFF6B6BFB, 0xFF20A2FF, 0xFF3838ED, 0xFF3838ED, 0xFF40AFFF, 0xFF40AFFF, 0xFF40AFFF, 0xFF40AFFF, 0xFF40AFFF, 0xFF3838ED, 0xFF3838ED, 0xFF20A2FF, 0xFF6B6BFB, 0xFF3838ED,
|
||||
0xFF3838ED, 0xFF6B6BFB, 0xFF20A2FF, 0xFF3838ED, 0xFF6B6BFB, 0xFF3838ED, 0xFF52B7FF, 0xFF52B7FF, 0xFF52B7FF, 0xFF3838ED, 0xFF6B6BFB, 0xFF3838ED, 0xFF20A2FF, 0xFF6B6BFB, 0xFF3838ED,
|
||||
0xFF3838ED, 0xFF6B6BFB, 0xFF20A2FF, 0xFF40AFFF, 0xFF3838ED, 0xFF6B6BFB, 0xFF3838ED, 0xFF63BEFF, 0xFF3838ED, 0xFF6B6BFB, 0xFF3838ED, 0xFF40AFFF, 0xFF20A2FF, 0xFF6B6BFB, 0xFF3838ED,
|
||||
0xFF3838ED, 0xFF6B6BFB, 0xFF20A2FF, 0xFF40AFFF, 0xFF52B7FF, 0xFF3838ED, 0xFF6B6BFB, 0xFF3838ED, 0xFF6B6BFB, 0xFF3838ED, 0xFF52B7FF, 0xFF40AFFF, 0xFF20A2FF, 0xFF6B6BFB, 0xFF3838ED,
|
||||
0xFF3838ED, 0xFF6B6BFB, 0xFF20A2FF, 0xFF40AFFF, 0xFF52B7FF, 0xFF63BEFF, 0xFF3838ED, 0xFF6B6BFB, 0xFF3838ED, 0xFF63BEFF, 0xFF52B7FF, 0xFF40AFFF, 0xFF20A2FF, 0xFF6B6BFB, 0xFF3838ED,
|
||||
0xFF3838ED, 0xFF6B6BFB, 0xFF20A2FF, 0xFF40AFFF, 0xFF52B7FF, 0xFF3838ED, 0xFF6B6BFB, 0xFF3838ED, 0xFF6B6BFB, 0xFF3838ED, 0xFF52B7FF, 0xFF40AFFF, 0xFF20A2FF, 0xFF6B6BFB, 0xFF3838ED,
|
||||
0xFF3838ED, 0xFF6B6BFB, 0xFF20A2FF, 0xFF40AFFF, 0xFF3838ED, 0xFF6B6BFB, 0xFF3838ED, 0xFF63BEFF, 0xFF3838ED, 0xFF6B6BFB, 0xFF3838ED, 0xFF40AFFF, 0xFF20A2FF, 0xFF6B6BFB, 0xFF3838ED,
|
||||
0xFF3838ED, 0xFF6B6BFB, 0xFF20A2FF, 0xFF3838ED, 0xFF6B6BFB, 0xFF3838ED, 0xFF52B7FF, 0xFF52B7FF, 0xFF52B7FF, 0xFF3838ED, 0xFF6B6BFB, 0xFF3838ED, 0xFF20A2FF, 0xFF6B6BFB, 0xFF3838ED,
|
||||
0xFF3838ED, 0xFF6B6BFB, 0xFF20A2FF, 0xFF3838ED, 0xFF3838ED, 0xFF40AFFF, 0xFF40AFFF, 0xFF40AFFF, 0xFF40AFFF, 0xFF40AFFF, 0xFF3838ED, 0xFF3838ED, 0xFF20A2FF, 0xFF6B6BFB, 0xFF3838ED,
|
||||
0xFF3838ED, 0xFF6B6BFB, 0xFF20A2FF, 0xFF20A2FF, 0xFF20A2FF, 0xFF20A2FF, 0xFF20A2FF, 0xFF20A2FF, 0xFF20A2FF, 0xFF20A2FF, 0xFF20A2FF, 0xFF20A2FF, 0xFF20A2FF, 0xFF6B6BFB, 0xFF3838ED,
|
||||
0xFF3838ED, 0xFF5858E7, 0xFF6B6BFB, 0xFF6B6BFB, 0xFF6B6BFB, 0xFF6B6BFB, 0xFF6B6BFB, 0xFF6B6BFB, 0xFF6B6BFB, 0xFF6B6BFB, 0xFF6B6BFB, 0xFF6B6BFB, 0xFF6B6BFB, 0xFF5858E7, 0xFF3838ED,
|
||||
0x00000000, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0x00000000
|
||||
};
|
||||
|
||||
uint32_t closeBoxDown[] = {
|
||||
15, 15,
|
||||
|
||||
0x00000000, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0x00000000,
|
||||
0xFF3838ED, 0xFF1D1DE2, 0xFF2B2BC0, 0xFF2B2BC0, 0xFF2B2BC0, 0xFF2B2BC0, 0xFF2B2BC0, 0xFF2B2BC0, 0xFF2B2BC0, 0xFF2B2BC0, 0xFF2B2BC0, 0xFF2B2BC0, 0xFF2B2BC0, 0xFF1D1DE2, 0xFF3838ED,
|
||||
0xFF3838ED, 0xFF2B2BC0, 0xFF1F9DF7, 0xFF1F9DF7, 0xFF1F9DF7, 0xFF1F9DF7, 0xFF1F9DF7, 0xFF1F9DF7, 0xFF1F9DF7, 0xFF1F9DF7, 0xFF1F9DF7, 0xFF1F9DF7, 0xFF1F9DF7, 0xFF2B2BC0, 0xFF3838ED,
|
||||
0xFF3838ED, 0xFF2B2BC0, 0xFF1F9DF7, 0xFF3838ED, 0xFF3838ED, 0xFF0786E2, 0xFF0786E2, 0xFF0786E2, 0xFF0786E2, 0xFF0786E2, 0xFF3838ED, 0xFF3838ED, 0xFF1F9DF7, 0xFF2B2BC0, 0xFF3838ED,
|
||||
0xFF3838ED, 0xFF2B2BC0, 0xFF1F9DF7, 0xFF3838ED, 0xFF2B2BC0, 0xFF3838ED, 0xFF0077CC, 0xFF0077CC, 0xFF0077CC, 0xFF3838ED, 0xFF2B2BC0, 0xFF3838ED, 0xFF1F9DF7, 0xFF2B2BC0, 0xFF3838ED,
|
||||
0xFF3838ED, 0xFF2B2BC0, 0xFF1F9DF7, 0xFF0786E2, 0xFF3838ED, 0xFF2B2BC0, 0xFF3838ED, 0xFF006EBD, 0xFF3838ED, 0xFF2B2BC0, 0xFF3838ED, 0xFF0786E2, 0xFF1F9DF7, 0xFF2B2BC0, 0xFF3838ED,
|
||||
0xFF3838ED, 0xFF2B2BC0, 0xFF1F9DF7, 0xFF0786E2, 0xFF0077CC, 0xFF3838ED, 0xFF2B2BC0, 0xFF3838ED, 0xFF2B2BC0, 0xFF3838ED, 0xFF0077CC, 0xFF0786E2, 0xFF1F9DF7, 0xFF2B2BC0, 0xFF3838ED,
|
||||
0xFF3838ED, 0xFF2B2BC0, 0xFF1F9DF7, 0xFF0786E2, 0xFF0077CC, 0xFF006EBD, 0xFF3838ED, 0xFF2B2BC0, 0xFF3838ED, 0xFF006EBD, 0xFF0077CC, 0xFF0786E2, 0xFF1F9DF7, 0xFF2B2BC0, 0xFF3838ED,
|
||||
0xFF3838ED, 0xFF2B2BC0, 0xFF1F9DF7, 0xFF0786E2, 0xFF0077CC, 0xFF3838ED, 0xFF2B2BC0, 0xFF3838ED, 0xFF2B2BC0, 0xFF3838ED, 0xFF0077CC, 0xFF0786E2, 0xFF1F9DF7, 0xFF2B2BC0, 0xFF3838ED,
|
||||
0xFF3838ED, 0xFF2B2BC0, 0xFF1F9DF7, 0xFF0786E2, 0xFF3838ED, 0xFF2B2BC0, 0xFF3838ED, 0xFF006EBD, 0xFF3838ED, 0xFF2B2BC0, 0xFF3838ED, 0xFF0786E2, 0xFF1F9DF7, 0xFF2B2BC0, 0xFF3838ED,
|
||||
0xFF3838ED, 0xFF2B2BC0, 0xFF1F9DF7, 0xFF3838ED, 0xFF2B2BC0, 0xFF3838ED, 0xFF0077CC, 0xFF0077CC, 0xFF0077CC, 0xFF3838ED, 0xFF2B2BC0, 0xFF3838ED, 0xFF1F9DF7, 0xFF2B2BC0, 0xFF3838ED,
|
||||
0xFF3838ED, 0xFF2B2BC0, 0xFF1F9DF7, 0xFF3838ED, 0xFF3838ED, 0xFF0786E2, 0xFF0786E2, 0xFF0786E2, 0xFF0786E2, 0xFF0786E2, 0xFF3838ED, 0xFF3838ED, 0xFF1F9DF7, 0xFF2B2BC0, 0xFF3838ED,
|
||||
0xFF3838ED, 0xFF2B2BC0, 0xFF1F9DF7, 0xFF1F9DF7, 0xFF1F9DF7, 0xFF1F9DF7, 0xFF1F9DF7, 0xFF1F9DF7, 0xFF1F9DF7, 0xFF1F9DF7, 0xFF1F9DF7, 0xFF1F9DF7, 0xFF1F9DF7, 0xFF2B2BC0, 0xFF3838ED,
|
||||
0xFF3838ED, 0xFF1D1DE2, 0xFF2B2BC0, 0xFF2B2BC0, 0xFF2B2BC0, 0xFF2B2BC0, 0xFF2B2BC0, 0xFF2B2BC0, 0xFF2B2BC0, 0xFF2B2BC0, 0xFF2B2BC0, 0xFF2B2BC0, 0xFF2B2BC0, 0xFF1D1DE2, 0xFF3838ED,
|
||||
0x00000000, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0xFF3838ED, 0x00000000
|
||||
};
|
||||
|
||||
#include "vj_title_small.c"
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif // __GUIELEMENTS_H__
|
2822
src/gui/guimisc.cpp
2822
src/gui/guimisc.cpp
File diff suppressed because it is too large
Load Diff
|
@ -1,62 +0,0 @@
|
|||
//
|
||||
// GUIMISC.H
|
||||
//
|
||||
// Graphical User Interface support functions
|
||||
//
|
||||
|
||||
#ifndef __GUIMISC_H__
|
||||
#define __GUIMISC_H__
|
||||
|
||||
#include <SDL.h>
|
||||
#include <stdarg.h>
|
||||
#include <stdint.h>
|
||||
|
||||
// Useful structs
|
||||
|
||||
struct Font
|
||||
{
|
||||
Font(uint8_t * d = NULL, uint32_t w = 0, uint32_t h = 0): data(d), width(w), height(h) {}
|
||||
|
||||
uint8_t * data;
|
||||
uint32_t width, height;
|
||||
};
|
||||
|
||||
// Okay, this is ugly but works and I can't think of any better way to handle this. So what
|
||||
// we do when we pass the GIMP bitmaps into a function is pass them as a (void *) and then
|
||||
// cast them as type (Bitmap *) in order to use them. Yes, it's ugly. Come up with something
|
||||
// better!
|
||||
|
||||
/*struct Bitmap {
|
||||
unsigned int width;
|
||||
unsigned int height;
|
||||
unsigned int bytesPerPixel; // 3:RGB, 4:RGBA
|
||||
unsigned char pixelData[];
|
||||
};*/
|
||||
|
||||
// A better way is just to use the following format:
|
||||
// bytes 0-1: width (HI/LO)
|
||||
// bytes 2-3: height (HI/LO)
|
||||
// bytes 4-n: pixel data in RGBA format
|
||||
|
||||
// Global functions
|
||||
|
||||
//void SetFont(uint8_t *, uint32_t, uint32_t);
|
||||
void SetNewFont(Font);
|
||||
void RestoreOldFont(void);
|
||||
uint32_t GetFontWidth(void);
|
||||
uint32_t GetFontHeight(void);
|
||||
void DrawStringTrans(SDL_Surface * screen, uint32_t x, uint32_t y, uint32_t color, const char * text, ...);
|
||||
void DrawStringOpaque(SDL_Surface * screen, uint32_t x, uint32_t y, uint32_t fg, uint32_t bg, const char * text, ...);
|
||||
|
||||
//Not sure these belong here, but there you go...
|
||||
bool RectanglesIntersect(SDL_Rect r1, SDL_Rect r2);
|
||||
bool RectangleFirstInsideSecond(SDL_Rect r1, SDL_Rect r2);
|
||||
|
||||
// GUI bitmaps (exported)
|
||||
|
||||
extern uint8_t closeBox[];
|
||||
extern uint8_t closeBoxDown[];
|
||||
extern uint8_t closeBoxHover[];
|
||||
extern uint8_t floppyDiskImg[];
|
||||
|
||||
#endif // __GUIMISC_H__
|
322
src/gui/menu.cpp
322
src/gui/menu.cpp
|
@ -1,322 +0,0 @@
|
|||
//
|
||||
// MENU.CPP
|
||||
//
|
||||
// Graphical User Interface menu support
|
||||
// by James Hammons
|
||||
//
|
||||
// JLH = James Hammons <jlhamm@acm.org>
|
||||
//
|
||||
// WHO WHEN WHAT
|
||||
// --- ---------- ------------------------------------------------------------
|
||||
// JLH 02/09/2006 Created this file
|
||||
// JLH 02/13/2006 Added rendering support
|
||||
//
|
||||
|
||||
#include "menu.h"
|
||||
#include "guimisc.h"
|
||||
|
||||
//#define DEBUG_MENU
|
||||
|
||||
#ifdef DEBUG_MENU
|
||||
#include "log.h"
|
||||
#endif
|
||||
|
||||
#if SDL_BYTEORDER == SDL_BIG_ENDIAN
|
||||
#define MASK_R 0xFF000000
|
||||
#define MASK_G 0x00FF0000
|
||||
#define MASK_B 0x0000FF00
|
||||
#define MASK_A 0x000000FF
|
||||
#else
|
||||
#define MASK_R 0x000000FF
|
||||
#define MASK_G 0x0000FF00
|
||||
#define MASK_B 0x00FF0000
|
||||
#define MASK_A 0xFF000000
|
||||
#endif
|
||||
|
||||
//
|
||||
// MenuItems class implementation
|
||||
//
|
||||
|
||||
MenuItems::MenuItems(): charLength(0), popupBackstore(NULL)
|
||||
{
|
||||
}
|
||||
|
||||
bool MenuItems::Inside(uint32_t x, uint32_t y)
|
||||
{
|
||||
return (x >= (uint32_t)extents.x && x < (uint32_t)(extents.x + extents.w)
|
||||
&& y >= (uint32_t)extents.y && y < (uint32_t)(extents.y + extents.h) ? true : false);
|
||||
}
|
||||
|
||||
//
|
||||
// Menu class implementation
|
||||
//
|
||||
|
||||
Menu::Menu(uint32_t x/*= 0*/, uint32_t y/*= 0*/, uint32_t w/*= 0*/, uint32_t h/*= 0*/,
|
||||
uint8_t fgcR/*= 0x00*/, uint8_t fgcG/*= 0x00*/, uint8_t fgcB/*= 0x7F*/, uint8_t fgcA/*= 0xFF*/,
|
||||
uint8_t bgcR/*= 0x3F*/, uint8_t bgcG/*= 0x3F*/, uint8_t bgcB/*= 0xFF*/, uint8_t bgcA/*= 0xFF*/,
|
||||
uint8_t fgchR/*= 0x3F*/, uint8_t fgchG/*= 0x3F*/, uint8_t fgchB/*= 0xFF*/, uint8_t fgchA/*= 0xFF*/,
|
||||
uint8_t bgchR/*= 0x87*/, uint8_t bgchG/*= 0x87*/, uint8_t bgchB/*= 0xFF*/, uint8_t bgchA/*= 0xFF*/):
|
||||
Element(x, y, w, GetFontHeight(), fgcR, fgcG, fgcB, fgcA, bgcR, bgcG, bgcB, bgcA),
|
||||
activated(false), clicked(false),
|
||||
inside(0), insidePopup(0), menuChosen(-1), menuItemChosen(-1),
|
||||
activatedSave(false), clickedSave(false),
|
||||
insideSave(0), insidePopupSave(0), menuChosenSave(-1), menuItemChosenSave(-1)
|
||||
{
|
||||
#if 0
|
||||
// This *should* allow us to store our colors in an endian safe way... :-/
|
||||
// Nope. Only on SW surfaces. With HW, all bets are off. :-(
|
||||
uint8_t * c = (uint8_t *)&fgColorHL;
|
||||
c[0] = fgchR, c[1] = fgchG, c[2] = fgchB, c[3] = fgchA;
|
||||
c = (uint8_t *)&bgColorHL;
|
||||
c[0] = bgchR, c[1] = bgchG, c[2] = bgchB, c[3] = bgchA;
|
||||
#else
|
||||
fgColorHL = SDL_MapRGBA(screen->format, fgchR, fgchG, fgchB, fgchA);
|
||||
bgColorHL = SDL_MapRGBA(screen->format, bgchR, bgchG, bgchB, bgchA);
|
||||
#endif
|
||||
}
|
||||
|
||||
Menu::~Menu()
|
||||
{
|
||||
for(uint32_t i=0; i<itemList.size(); i++)
|
||||
{
|
||||
if (itemList[i].popupBackstore)
|
||||
SDL_FreeSurface(itemList[i].popupBackstore);
|
||||
}
|
||||
}
|
||||
|
||||
void Menu::HandleKey(SDL_Scancode key)
|
||||
{
|
||||
SaveStateVariables();
|
||||
|
||||
for(uint32_t i=0; i<itemList.size(); i++)
|
||||
{
|
||||
for(uint32_t j=0; j<itemList[i].item.size(); j++)
|
||||
{
|
||||
if (itemList[i].item[j].hotKey == key)
|
||||
{
|
||||
SDL_Event event;
|
||||
event.type = SDL_USEREVENT;
|
||||
event.user.code = MENU_ITEM_CHOSEN;
|
||||
event.user.data1 = (void *)itemList[i].item[j].action;
|
||||
SDL_PushEvent(&event);
|
||||
|
||||
clicked = false, menuChosen = menuItemChosen = -1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
CheckStateAndRedrawIfNeeded();
|
||||
}
|
||||
|
||||
void Menu::HandleMouseMove(uint32_t x, uint32_t y)
|
||||
{
|
||||
#ifdef DEBUG_MENU
|
||||
WriteLog("--> Inside Menu::HandleMouseMove()...\n");
|
||||
#endif
|
||||
SaveStateVariables();
|
||||
|
||||
inside = insidePopup = 0;
|
||||
|
||||
if (Inside(x, y))
|
||||
{
|
||||
// Find out *where* we are inside the menu bar
|
||||
uint32_t xpos = extents.x;
|
||||
|
||||
for(uint32_t i=0; i<itemList.size(); i++)
|
||||
{
|
||||
uint32_t width = (itemList[i].title.length() + 2) * GetFontWidth();
|
||||
|
||||
if (x >= xpos && x < xpos + width)
|
||||
{
|
||||
inside = i + 1;
|
||||
menuChosen = i;
|
||||
break;
|
||||
}
|
||||
|
||||
xpos += width;
|
||||
}
|
||||
}
|
||||
|
||||
if (!Inside(x, y) && !clicked)
|
||||
{
|
||||
menuChosen = -1;
|
||||
}
|
||||
|
||||
if (itemList[menuChosen].Inside(x, y) && clicked)
|
||||
{
|
||||
insidePopup = ((y - itemList[menuChosen].extents.y) / GetFontHeight()) + 1;
|
||||
menuItemChosen = insidePopup - 1;
|
||||
}
|
||||
|
||||
CheckStateAndRedrawIfNeeded();
|
||||
}
|
||||
|
||||
void Menu::HandleMouseButton(uint32_t x, uint32_t y, bool mouseDown)
|
||||
{
|
||||
#ifdef DEBUG_MENU
|
||||
WriteLog("--> Inside Menu::HandleMouseButton()...\n");
|
||||
#endif
|
||||
SaveStateVariables();
|
||||
|
||||
if (!clicked)
|
||||
{
|
||||
if (mouseDown)
|
||||
{
|
||||
if (inside)
|
||||
clicked = true;
|
||||
else
|
||||
menuChosen = -1; // clicked is already false...!
|
||||
}
|
||||
}
|
||||
else // clicked == true
|
||||
{
|
||||
if (insidePopup && !mouseDown) // I.e., mouse-button-up
|
||||
{
|
||||
activated = true;
|
||||
|
||||
if (itemList[menuChosen].item[menuItemChosen].action != NULL)
|
||||
{
|
||||
SDL_Event event;
|
||||
event.type = SDL_USEREVENT;
|
||||
event.user.code = MENU_ITEM_CHOSEN;
|
||||
event.user.data1 = (void *)itemList[menuChosen].item[menuItemChosen].action;
|
||||
SDL_PushEvent(&event);
|
||||
}
|
||||
|
||||
clicked = false, menuChosen = menuItemChosen = -1;
|
||||
}
|
||||
|
||||
if (!inside && !insidePopup && mouseDown)
|
||||
clicked = false, menuChosen = menuItemChosen = -1;
|
||||
}
|
||||
|
||||
CheckStateAndRedrawIfNeeded();
|
||||
}
|
||||
|
||||
void Menu::Draw(void)
|
||||
{
|
||||
#ifdef DEBUG_MENU
|
||||
WriteLog("--> Inside Menu::Draw()...\n");
|
||||
#endif
|
||||
char separator[] = "--------------------------------------------------------";
|
||||
|
||||
uint32_t xpos = extents.x;
|
||||
|
||||
for(uint32_t i=0; i<itemList.size(); i++)
|
||||
{
|
||||
uint32_t color1 = fgColor, color2 = bgColor;
|
||||
|
||||
if (inside == (i + 1) || (menuChosen != -1 && (uint32_t)menuChosen == i))
|
||||
color1 = fgColorHL, color2 = bgColorHL;
|
||||
|
||||
DrawStringOpaque(screen, xpos, extents.y, color1, color2,
|
||||
" %s ", itemList[i].title.c_str());
|
||||
xpos += (itemList[i].title.length() + 2) * GetFontWidth();
|
||||
}
|
||||
|
||||
// Prime the backstore if we're about to draw a popup...
|
||||
if (!clickedSave && clicked) // If we transitioned from no popup to popup
|
||||
#ifdef DEBUG_MENU
|
||||
{
|
||||
WriteLog("--> Attempting to prime pubs...\n pubs x/y/w/h = %u/%u/%u/%u\n surface = %08X\n",
|
||||
itemList[menuChosen].extents.x,
|
||||
itemList[menuChosen].extents.y,
|
||||
itemList[menuChosen].extents.w,
|
||||
itemList[menuChosen].extents.h,
|
||||
itemList[menuChosen].popupBackstore);
|
||||
#endif
|
||||
SDL_BlitSurface(screen, &itemList[menuChosen].extents, itemList[menuChosen].popupBackstore, NULL);
|
||||
#ifdef DEBUG_MENU
|
||||
}
|
||||
#endif
|
||||
|
||||
// Draw sub menu (but only if active)
|
||||
if (clicked)
|
||||
{
|
||||
uint32_t ypos = extents.y + GetFontHeight() + 1;
|
||||
|
||||
for(uint32_t i=0; i<itemList[menuChosen].item.size(); i++)
|
||||
{
|
||||
uint32_t color1 = fgColor, color2 = bgColor;
|
||||
|
||||
if (insidePopup == i + 1)
|
||||
color1 = fgColorHL, color2 = bgColorHL, menuItemChosen = i;
|
||||
|
||||
if (itemList[menuChosen].item[i].name.length() > 0)
|
||||
DrawStringOpaque(screen, itemList[menuChosen].extents.x, ypos,
|
||||
color1, color2, " %-*.*s ", itemList[menuChosen].charLength,
|
||||
itemList[menuChosen].charLength, itemList[menuChosen].item[i].name.c_str());
|
||||
else
|
||||
DrawStringOpaque(screen, itemList[menuChosen].extents.x, ypos,
|
||||
fgColor, bgColor, "%.*s", itemList[menuChosen].charLength + 2, separator);
|
||||
|
||||
ypos += GetFontHeight();
|
||||
}
|
||||
}
|
||||
|
||||
// Do cleanup if we're done with the popup menu
|
||||
if (clickedSave && !clicked) // If we transitioned from popup to no popup
|
||||
{
|
||||
SDL_Rect r;
|
||||
|
||||
r.x = itemList[menuChosenSave].extents.x;
|
||||
r.y = itemList[menuChosenSave].extents.y;
|
||||
SDL_BlitSurface(itemList[menuChosenSave].popupBackstore, NULL, screen, &r);
|
||||
}
|
||||
|
||||
needToRefreshScreen = true;
|
||||
}
|
||||
|
||||
void Menu::Notify(Element *)
|
||||
{
|
||||
}
|
||||
|
||||
void Menu::Add(MenuItems mi)
|
||||
{
|
||||
for(uint32_t i=0; i<mi.item.size(); i++)
|
||||
if (mi.item[i].name.length() > mi.charLength)
|
||||
mi.charLength = mi.item[i].name.length();
|
||||
|
||||
// Set extents here as well...
|
||||
mi.extents.x = extents.x + extents.w;
|
||||
mi.extents.y = extents.y + GetFontHeight() + 1;
|
||||
mi.extents.w = (mi.charLength + 2) * GetFontWidth();
|
||||
mi.extents.h = mi.item.size() * GetFontHeight();
|
||||
|
||||
mi.popupBackstore = SDL_CreateRGBSurface(SDL_SWSURFACE, mi.extents.w, mi.extents.h, 32,
|
||||
MASK_R, MASK_G, MASK_B, 0x00);
|
||||
|
||||
itemList.push_back(mi);
|
||||
extents.w += (mi.title.length() + 2) * GetFontWidth();
|
||||
|
||||
//This is incorrect--this should be sampled just *before* we draw the popup! !!! FIX !!! [DONE]
|
||||
// SDL_BlitSurface(screen, &mi.extents, mi.popupBackstore, NULL);
|
||||
#ifdef DEBUG_MENU
|
||||
WriteLog("--> Added menu item...\n pubs x/y/w/h = %u/%u/%u/%u\n surface = %08X\n",
|
||||
mi.extents.x,
|
||||
mi.extents.y,
|
||||
mi.popupBackstore->w,
|
||||
mi.popupBackstore->h,
|
||||
mi.popupBackstore);
|
||||
#endif
|
||||
}
|
||||
|
||||
void Menu::SaveStateVariables(void)
|
||||
{
|
||||
activatedSave = activated;
|
||||
clickedSave = clicked;
|
||||
insideSave = inside;
|
||||
insidePopupSave = insidePopup;
|
||||
menuChosenSave = menuChosen;
|
||||
menuItemChosenSave = menuItemChosen;
|
||||
}
|
||||
|
||||
void Menu::CheckStateAndRedrawIfNeeded(void)
|
||||
{
|
||||
// Check to see if any of our state variables changed since we last saved them...
|
||||
if (activated != activatedSave || clicked != clickedSave
|
||||
|| inside != insideSave || insidePopup != insidePopupSave
|
||||
|| menuChosen != menuChosenSave || menuItemChosen != menuItemChosenSave)
|
||||
Draw();
|
||||
}
|
|
@ -1,68 +0,0 @@
|
|||
//
|
||||
// MENU.H
|
||||
//
|
||||
// Graphical User Interface menu support
|
||||
//
|
||||
|
||||
#ifndef __MENU_H__
|
||||
#define __MENU_H__
|
||||
|
||||
#include <string>
|
||||
#include <vector>
|
||||
#include "window.h"
|
||||
|
||||
struct NameAction
|
||||
{
|
||||
std::string name;
|
||||
Element * (* action)(void);
|
||||
SDL_Scancode hotKey;
|
||||
|
||||
NameAction(std::string n, Element * (* a)(void) = NULL, SDL_Scancode k = SDL_SCANCODE_UNKNOWN): name(n),
|
||||
action(a), hotKey(k) {}
|
||||
};
|
||||
|
||||
class MenuItems
|
||||
{
|
||||
public:
|
||||
MenuItems();
|
||||
bool Inside(uint32_t x, uint32_t y);
|
||||
|
||||
std::string title;
|
||||
std::vector<NameAction> item;
|
||||
uint32_t charLength;
|
||||
SDL_Rect extents;
|
||||
SDL_Surface * popupBackstore;
|
||||
};
|
||||
|
||||
class Menu: public Element
|
||||
{
|
||||
public:
|
||||
Menu(uint32_t x = 0, uint32_t y = 0, uint32_t w = 0, uint32_t h = 0,
|
||||
uint8_t fgcR = 0x00, uint8_t fgcG = 0x00, uint8_t fgcB = 0x7F, uint8_t fgcA = 0xFF,
|
||||
uint8_t bgcR = 0x3F, uint8_t bgcG = 0x3F, uint8_t bgcB = 0xFF, uint8_t bgcA = 0xFF,
|
||||
uint8_t fgchR = 0x3F, uint8_t fgchG = 0x3F, uint8_t fgchB = 0xFF, uint8_t fgchA = 0xFF,
|
||||
uint8_t bgchR = 0x87, uint8_t bgchG = 0x87, uint8_t bgchB = 0xFF, uint8_t bgchA = 0xFF);
|
||||
~Menu();
|
||||
virtual void HandleKey(SDL_Scancode key);
|
||||
virtual void HandleMouseMove(uint32_t x, uint32_t y);
|
||||
virtual void HandleMouseButton(uint32_t x, uint32_t y, bool mouseDown);
|
||||
virtual void Draw(void);
|
||||
virtual void Notify(Element *);
|
||||
void Add(MenuItems mi);
|
||||
void SaveStateVariables(void);
|
||||
void CheckStateAndRedrawIfNeeded(void);
|
||||
|
||||
protected:
|
||||
bool activated, clicked;
|
||||
uint32_t inside, insidePopup;
|
||||
int menuChosen, menuItemChosen;
|
||||
uint32_t fgColorHL, bgColorHL;
|
||||
|
||||
private:
|
||||
std::vector<MenuItems> itemList;
|
||||
bool activatedSave, clickedSave;
|
||||
uint32_t insideSave, insidePopupSave;
|
||||
int menuChosenSave, menuItemChosenSave;
|
||||
};
|
||||
|
||||
#endif // __MENU_H__
|
|
@ -1,36 +0,0 @@
|
|||
//
|
||||
// Static text class
|
||||
//
|
||||
// by James Hammons
|
||||
//
|
||||
|
||||
#include "text.h"
|
||||
|
||||
#include "guimisc.h"
|
||||
|
||||
Text::Text(uint32_t x/*= 0*/, uint32_t y/*= 0*/, uint32_t w/*= 0*/, uint32_t h/*= 0*/, Element * parent/*= NULL*/):
|
||||
Element(x, y, w, h, parent)
|
||||
{
|
||||
fgColor = 0xFF8484FF, bgColor = 0xFF84FF4D;
|
||||
}
|
||||
|
||||
Text::Text(uint32_t x, uint32_t y, std::string s, uint32_t fg/*= 0xFF8484FF*/, uint32_t bg/*= 0xFF84FF4D*/, Element * parent/*= NULL*/):
|
||||
Element(x, y, 0, 0, parent), text(s)
|
||||
{
|
||||
fgColor = fg, bgColor = bg;
|
||||
}
|
||||
|
||||
void Text::Draw(void)
|
||||
{
|
||||
if (text.length() > 0)
|
||||
{
|
||||
// DrawString(screenBuffer, extents.x + offsetX, extents.y + offsetY, false, "%s", text.c_str());
|
||||
SDL_Rect r = GetScreenCoords();
|
||||
DrawStringOpaque(screen, r.x, r.y, fgColor, bgColor, "%s", text.c_str());
|
||||
}
|
||||
}
|
||||
|
||||
void Text::SetText(std::string s)
|
||||
{
|
||||
text = s;
|
||||
}
|
|
@ -1,30 +0,0 @@
|
|||
//
|
||||
// Static text class
|
||||
//
|
||||
// by James Hammons
|
||||
//
|
||||
|
||||
#ifndef __TEXT_H__
|
||||
#define __TEXT_H__
|
||||
|
||||
#include <string>
|
||||
#include "element.h"
|
||||
|
||||
class Text: public Element
|
||||
{
|
||||
public:
|
||||
Text(uint32_t x = 0, uint32_t y = 0, uint32_t w = 0, uint32_t h = 0, Element * parent = NULL);
|
||||
Text(uint32_t x, uint32_t y, std::string s, uint32_t fg = 0xFF8484FF, uint32_t bg = 0xFF84FF4D, Element * parent = NULL);
|
||||
virtual void HandleKey(SDL_Scancode key) {}
|
||||
virtual void HandleMouseMove(uint32_t x, uint32_t y) {}
|
||||
virtual void HandleMouseButton(uint32_t x, uint32_t y, bool mouseDown) {}
|
||||
virtual void Draw(void);
|
||||
virtual void Notify(Element *) {}
|
||||
void SetText(std::string s);
|
||||
|
||||
protected:
|
||||
// uint32_t fgColor, bgColor;
|
||||
std::string text;
|
||||
};
|
||||
|
||||
#endif // __TEXT_H__
|
|
@ -1,253 +0,0 @@
|
|||
//
|
||||
// TEXTEDIT.CPP
|
||||
//
|
||||
// Graphical User Interface button class
|
||||
// by James Hammons
|
||||
//
|
||||
// JLH = James Hammons <jlhamm@acm.org>
|
||||
//
|
||||
// WHO WHEN WHAT
|
||||
// --- ---------- ------------------------------------------------------------
|
||||
// JLH 02/17/2006 Created this file
|
||||
// JLH 03/01/2006 Added basic editing functionality
|
||||
//
|
||||
|
||||
#include "textedit.h"
|
||||
#include "guimisc.h" // Various support functions
|
||||
|
||||
#if SDL_BYTEORDER == SDL_BIG_ENDIAN
|
||||
#define MASK_R 0xFF000000
|
||||
#define MASK_G 0x00FF0000
|
||||
#define MASK_B 0x0000FF00
|
||||
#define MASK_A 0x000000FF
|
||||
#else
|
||||
#define MASK_R 0x000000FF
|
||||
#define MASK_G 0x0000FF00
|
||||
#define MASK_B 0x00FF0000
|
||||
#define MASK_A 0xFF000000
|
||||
#endif
|
||||
|
||||
//
|
||||
// Text edit class implementation
|
||||
//
|
||||
|
||||
TextEdit::TextEdit(uint32_t x/*= 0*/, uint32_t y/*= 0*/, uint32_t w/*= 0*/, uint32_t h/*= 0*/,
|
||||
std::string s/*= ""*/, Element * parent/*= NULL*/):
|
||||
Element(x, y, w, h, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x40, 0x40, 0xFF, parent),
|
||||
activated(false), clicked(false), inside(false),
|
||||
img(NULL), text(s), caretPos(0), scrollPos(0),
|
||||
activatedSave(false), clickedSave(false), insideSave(false),
|
||||
caretPosSave(0), scrollPosSave(0)
|
||||
{
|
||||
if (extents.h == 0)
|
||||
extents.h = GetFontHeight();
|
||||
|
||||
// Setup hardwired colors...
|
||||
|
||||
uint8_t * c = (uint8_t *)&hiliteColor;
|
||||
c[0] = 0xFF, c[1] = 0x80, c[2] = 0x00, c[3] = 0xFF;
|
||||
c = (uint8_t *)&cursorColor;
|
||||
c[0] = 0x40, c[1] = 0xFF, c[2] = 0x60, c[3] = 0xFF;
|
||||
|
||||
// Create the text edit surface here...
|
||||
|
||||
img = SDL_CreateRGBSurface(SDL_SWSURFACE, extents.w, extents.h, 32,
|
||||
MASK_R, MASK_G, MASK_B, MASK_A);
|
||||
|
||||
Draw(); // Can we do this in the constructor??? Mebbe.
|
||||
}
|
||||
|
||||
TextEdit::~TextEdit()
|
||||
{
|
||||
if (img)
|
||||
SDL_FreeSurface(img);
|
||||
}
|
||||
|
||||
//Set different filters depending on type passed in on construction, e.g., filename, amount, etc...?
|
||||
void TextEdit::HandleKey(SDL_Scancode key)
|
||||
{
|
||||
if (!activated)
|
||||
return;
|
||||
|
||||
// Punting this for now on SDL 2...
|
||||
#if 0
|
||||
SaveStateVariables();
|
||||
SDLMod keyMod = SDL_GetModState();
|
||||
|
||||
if ((key >= SDLK_a && key <= SDLK_z) || (key >= SDLK_0 && key <= SDLK_9)
|
||||
|| key == SDLK_PERIOD || key == SDLK_SLASH || key == SDLK_SPACE)
|
||||
{
|
||||
uint8_t chr = (uint8_t)key;
|
||||
|
||||
// Handle shift key as well...
|
||||
if (keyMod & KMOD_SHIFT)
|
||||
{
|
||||
if (key >= SDLK_a && key <= SDLK_z)
|
||||
chr &= 0xDF; // Set to upper case
|
||||
}
|
||||
|
||||
text.insert(scrollPos + caretPos, 1, chr);
|
||||
|
||||
// If we hit the edge, then scroll; else advance the caret
|
||||
if ((GetFontWidth() * caretPos) > (extents.w - GetFontWidth()))
|
||||
scrollPos++;
|
||||
else
|
||||
caretPos++;
|
||||
}
|
||||
else if (key == SDLK_BACKSPACE)
|
||||
{
|
||||
// If there's something to delete, go ahead and delete it
|
||||
if ((scrollPos + caretPos) > 0)
|
||||
{
|
||||
text.erase(scrollPos + caretPos - 1, 1);
|
||||
|
||||
// Scroll the cursor to the left if possible, otherwise move the scroll position
|
||||
if (caretPos > 0)
|
||||
caretPos--;
|
||||
else
|
||||
scrollPos--;
|
||||
}
|
||||
}
|
||||
else if (key == SDLK_DELETE)
|
||||
{
|
||||
if ((scrollPos + caretPos) < text.length())
|
||||
text.erase(scrollPos + caretPos, 1);
|
||||
}
|
||||
else if (key == SDLK_LEFT)
|
||||
{
|
||||
if (caretPos > 0)
|
||||
caretPos--;
|
||||
else if (scrollPos > 0)
|
||||
scrollPos--;
|
||||
}
|
||||
else if (key == SDLK_RIGHT)
|
||||
{
|
||||
if ((scrollPos + caretPos) < text.length())
|
||||
{
|
||||
if ((GetFontWidth() * caretPos) > (extents.w - GetFontWidth()))
|
||||
scrollPos++;
|
||||
else
|
||||
caretPos++;
|
||||
}
|
||||
}
|
||||
else if (key == SDLK_RETURN)
|
||||
{
|
||||
clicked = activated = false;
|
||||
}
|
||||
|
||||
CheckStateAndRedrawIfNeeded();
|
||||
#endif
|
||||
}
|
||||
|
||||
void TextEdit::HandleMouseMove(uint32_t x, uint32_t y)
|
||||
{
|
||||
SaveStateVariables();
|
||||
inside = Inside(x, y);
|
||||
CheckStateAndRedrawIfNeeded();
|
||||
}
|
||||
|
||||
void TextEdit::HandleMouseButton(uint32_t x, uint32_t y, bool mouseDown)
|
||||
{
|
||||
SaveStateVariables();
|
||||
|
||||
//Not sure that this is right way to handle this...
|
||||
//Should set the cursor position based on where in the text box it was clicked...
|
||||
if (inside)
|
||||
{
|
||||
if (mouseDown)
|
||||
clicked = true;
|
||||
|
||||
if (clicked && !mouseDown)
|
||||
{
|
||||
clicked = false, activated = true;
|
||||
|
||||
// Send a message to our parent widget (if any) that we're activated
|
||||
if (parent)
|
||||
parent->Notify(this);
|
||||
}
|
||||
}
|
||||
else
|
||||
clicked = activated = false;
|
||||
|
||||
CheckStateAndRedrawIfNeeded();
|
||||
}
|
||||
|
||||
void TextEdit::Draw(void)
|
||||
{
|
||||
if (img == NULL)
|
||||
return; // Bail out if no surface was created...
|
||||
|
||||
SDL_Rect rect = GetScreenCoords();
|
||||
|
||||
// Now, draw the appropriate text state!
|
||||
|
||||
if (!activated)
|
||||
{
|
||||
if (inside)
|
||||
{
|
||||
SDL_Rect rect2;
|
||||
rect2.x = 1;
|
||||
rect2.y = 1;
|
||||
rect2.w = extents.w - 2;
|
||||
rect2.h = extents.h - 2;
|
||||
|
||||
SDL_FillRect(img, NULL, hiliteColor);
|
||||
SDL_FillRect(img, &rect2, bgColor);
|
||||
}
|
||||
else
|
||||
SDL_FillRect(img, NULL, bgColor);
|
||||
}
|
||||
else
|
||||
SDL_FillRect(img, NULL, bgColor);//Make a different color here, so we're clear we're editing...
|
||||
|
||||
//Should also draw different text color depending on whether or not we're activated...
|
||||
if (activated)
|
||||
DrawStringTrans(img, 0, 0, fgColor, text.c_str() + scrollPos);
|
||||
else
|
||||
DrawStringTrans(img, 0, 0, fgColor, text.c_str());
|
||||
|
||||
// Draw the cursor, if any
|
||||
|
||||
if (activated)
|
||||
{
|
||||
SDL_Rect rectCursor;
|
||||
rectCursor.x = caretPos * GetFontWidth();
|
||||
rectCursor.y = 0;
|
||||
rectCursor.w = 2;
|
||||
rectCursor.h = GetFontHeight();
|
||||
|
||||
SDL_FillRect(img, &rectCursor, cursorColor);
|
||||
}
|
||||
|
||||
SDL_BlitSurface(img, NULL, screen, &rect); // This handles alpha blending too! :-D
|
||||
|
||||
needToRefreshScreen = true;
|
||||
}
|
||||
|
||||
void TextEdit::Notify(Element *)
|
||||
{
|
||||
}
|
||||
|
||||
std::string TextEdit::GetText(void)
|
||||
{
|
||||
return text;
|
||||
}
|
||||
|
||||
void TextEdit::SaveStateVariables(void)
|
||||
{
|
||||
activatedSave = activated;
|
||||
clickedSave = clicked;
|
||||
insideSave = inside;
|
||||
caretPosSave = caretPos;
|
||||
scrollPosSave = scrollPos;
|
||||
lengthSave = text.length();
|
||||
}
|
||||
|
||||
void TextEdit::CheckStateAndRedrawIfNeeded(void)
|
||||
{
|
||||
// Check to see if any of our state variables changed since we last saved them...
|
||||
if (activated != activatedSave || clicked != clickedSave || inside != insideSave
|
||||
|| caretPos != caretPosSave || scrollPos != scrollPosSave
|
||||
|| text.length() != lengthSave)
|
||||
Draw();
|
||||
}
|
|
@ -1,39 +0,0 @@
|
|||
//
|
||||
// TEXTEDIT.H
|
||||
//
|
||||
// Graphical User Interface text edit class
|
||||
//
|
||||
|
||||
#ifndef __TEXTEDIT_H__
|
||||
#define __TEXTEDIT_H__
|
||||
|
||||
#include <string>
|
||||
#include "element.h"
|
||||
|
||||
class TextEdit: public Element
|
||||
{
|
||||
public:
|
||||
TextEdit(uint32_t x = 0, uint32_t y = 0, uint32_t w = 0, uint32_t h = 0, std::string s = "", Element * parent = NULL);
|
||||
~TextEdit();
|
||||
virtual void HandleKey(SDL_Scancode key);
|
||||
virtual void HandleMouseMove(uint32_t x, uint32_t y);
|
||||
virtual void HandleMouseButton(uint32_t x, uint32_t y, bool mouseDown);
|
||||
virtual void Draw(void);
|
||||
virtual void Notify(Element *);
|
||||
std::string GetText(void);
|
||||
void SaveStateVariables(void);
|
||||
void CheckStateAndRedrawIfNeeded(void);
|
||||
|
||||
protected:
|
||||
bool activated, clicked, inside;
|
||||
SDL_Surface * img;
|
||||
std::string text;
|
||||
uint32_t caretPos, scrollPos;
|
||||
|
||||
private:
|
||||
bool activatedSave, clickedSave, insideSave;
|
||||
uint32_t caretPosSave, scrollPosSave, lengthSave;
|
||||
uint32_t hiliteColor, cursorColor;
|
||||
};
|
||||
|
||||
#endif // __TEXTEDIT_H__
|
|
@ -1,183 +0,0 @@
|
|||
//
|
||||
// WINDOW.CPP
|
||||
//
|
||||
// Graphical User Interface window class
|
||||
// by James Hammons
|
||||
//
|
||||
// JLH = James Hammons <jlhamm@acm.org>
|
||||
//
|
||||
// WHO WHEN WHAT
|
||||
// --- ---------- ------------------------------------------------------------
|
||||
// JLH 02/03/2006 Created this file
|
||||
// JLH 02/09/2006 Fixed various problems with the class implementation
|
||||
// JLH 02/14/2006 Added window rendering
|
||||
//
|
||||
|
||||
#include "window.h"
|
||||
#include "button.h"
|
||||
#include "guimisc.h" // Various support functions
|
||||
#include <algorithm>
|
||||
|
||||
// Debug support...
|
||||
//#define DESTRUCTOR_TESTING
|
||||
|
||||
// Rendering experiment...
|
||||
//BAH
|
||||
//#define USE_COVERAGE_LISTS
|
||||
|
||||
#if SDL_BYTEORDER == SDL_BIG_ENDIAN
|
||||
#define MASK_R 0xFF000000
|
||||
#define MASK_G 0x00FF0000
|
||||
#define MASK_B 0x0000FF00
|
||||
#define MASK_A 0x000000FF
|
||||
#else
|
||||
#define MASK_R 0x000000FF
|
||||
#define MASK_G 0x0000FF00
|
||||
#define MASK_B 0x00FF0000
|
||||
#define MASK_A 0xFF000000
|
||||
#endif
|
||||
|
||||
//
|
||||
// Window class implementation
|
||||
//
|
||||
// NOTE: FG/BG colors are hard-wired
|
||||
//
|
||||
|
||||
Window::Window(uint32_t x/*= 0*/, uint32_t y/*= 0*/, uint32_t w/*= 0*/, uint32_t h/*= 0*/,
|
||||
void (* f)(Element *)/*= NULL*/):
|
||||
Element(x, y, w, h, 0x4D, 0xFF, 0x84, 0xFF, 0x1F, 0x84, 0x84, 0xFF), handler(f),
|
||||
cbWidth((closeBox[0] << 8) | closeBox[1]), cbHeight((closeBox[2] << 8) | closeBox[3]),
|
||||
cbUp(SDL_CreateRGBSurfaceFrom(&closeBox[4], cbWidth, cbHeight, 32, cbWidth * 4,
|
||||
MASK_R, MASK_G, MASK_B, MASK_A)),
|
||||
cbDown(SDL_CreateRGBSurfaceFrom(&closeBoxDown[4], cbWidth, cbHeight, 32, cbWidth * 4,
|
||||
MASK_R, MASK_G, MASK_B, MASK_A)),
|
||||
cbHover(SDL_CreateRGBSurfaceFrom(&closeBoxHover[4], cbWidth, cbHeight, 32, cbWidth * 4,
|
||||
MASK_R, MASK_G, MASK_B, MASK_A)), drawBackground(true)
|
||||
{
|
||||
//Could probably move this into the initializer list as well...
|
||||
// closeButton = new Button(w - (cbWidth + 1), 1, cbUp, cbHover, cbDown, this);
|
||||
// list.push_back(closeButton);
|
||||
|
||||
CreateBackstore();
|
||||
Draw(); // Can we do this in the constructor??? Mebbe.
|
||||
}
|
||||
|
||||
Window::~Window()
|
||||
{
|
||||
#ifdef DESTRUCTOR_TESTING
|
||||
printf("Inside ~Window()...\n");
|
||||
#endif
|
||||
for(uint32_t i=0; i<list.size(); i++)
|
||||
if (list[i])
|
||||
delete list[i];
|
||||
|
||||
SDL_FreeSurface(cbUp);
|
||||
SDL_FreeSurface(cbDown);
|
||||
SDL_FreeSurface(cbHover);
|
||||
}
|
||||
|
||||
void Window::HandleKey(SDL_Scancode key)
|
||||
{
|
||||
if (key == SDL_SCANCODE_ESCAPE)
|
||||
{
|
||||
SDL_Event event;
|
||||
event.type = SDL_USEREVENT, event.user.code = WINDOW_CLOSE;
|
||||
SDL_PushEvent(&event);
|
||||
}
|
||||
|
||||
// Handle the items this window contains...
|
||||
for(uint32_t i=0; i<list.size(); i++)
|
||||
list[i]->HandleKey(key);
|
||||
}
|
||||
|
||||
void Window::HandleMouseMove(uint32_t x, uint32_t y)
|
||||
{
|
||||
// Handle the items this window contains...
|
||||
for(uint32_t i=0; i<list.size(); i++)
|
||||
// Make coords relative to upper right corner of this window...
|
||||
list[i]->HandleMouseMove(x - extents.x, y - extents.y);
|
||||
}
|
||||
|
||||
void Window::HandleMouseButton(uint32_t x, uint32_t y, bool mouseDown)
|
||||
{
|
||||
#if 1
|
||||
// Handle the items this window contains...
|
||||
for(uint32_t i=0; i<list.size(); i++)
|
||||
// Make coords relative to upper right corner of this window...
|
||||
list[i]->HandleMouseButton(x - extents.x, y - extents.y, mouseDown);
|
||||
#else //? This works in draggablewindow2...
|
||||
// Handle the items this window contains...
|
||||
for(uint32_t i=0; i<list.size(); i++)
|
||||
{
|
||||
// Make coords relative to upper right corner of this window...
|
||||
list[i]->HandleMouseButton(x - extents.x, y - extents.y, mouseDown);
|
||||
|
||||
if (list[i]->Inside(x - extents.x, y - extents.y))
|
||||
clicked = false;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
void Window::Draw(void)
|
||||
{
|
||||
#ifdef USE_COVERAGE_LISTS
|
||||
// These are *always* top level and parentless, so no need to traverse up through
|
||||
// the parent chain...
|
||||
for(std::list<SDL_Rect>::iterator i=coverList.begin(); i!=coverList.end(); i++)
|
||||
SDL_FillRect(screen, &(*i), bgColor);
|
||||
|
||||
// Handle the items this window contains...
|
||||
for(uint32_t i=0; i<list.size(); i++)
|
||||
list[i]->Draw();
|
||||
#else
|
||||
if (drawBackground)
|
||||
{
|
||||
// These are *always* top level and parentless, so no need to traverse up through
|
||||
// the parent chain...
|
||||
SDL_FillRect(screen, &extents, bgColor);
|
||||
}
|
||||
else
|
||||
RestoreScreenFromBackstore();
|
||||
|
||||
// Handle the items this window contains...
|
||||
for(uint32_t i=0; i<list.size(); i++)
|
||||
list[i]->Draw();
|
||||
#endif
|
||||
|
||||
//Prolly don't need this since the close button will do this for us...
|
||||
//Close button isn't mandatory anymore...
|
||||
needToRefreshScreen = true;
|
||||
}
|
||||
|
||||
// This is only called if a close button has been added
|
||||
void Window::Notify(Element * e)
|
||||
{
|
||||
if (e == closeButton)
|
||||
{
|
||||
SDL_Event event;
|
||||
event.type = SDL_USEREVENT;
|
||||
event.user.code = WINDOW_CLOSE;
|
||||
event.user.data1 = (void *)this;
|
||||
SDL_PushEvent(&event);
|
||||
}
|
||||
}
|
||||
|
||||
void Window::AddElement(Element * e)
|
||||
{
|
||||
list.push_back(e);
|
||||
}
|
||||
|
||||
void Window::AddCloseButton(void)
|
||||
{
|
||||
// Only allow this to happen once!
|
||||
if (closeButton == NULL)
|
||||
{
|
||||
closeButton = new Button(extents.w - (cbWidth + 1), 1, cbUp, cbHover, cbDown, this);
|
||||
list.push_back(closeButton);
|
||||
}
|
||||
}
|
||||
|
||||
void Window::SetBackgroundDraw(bool state)
|
||||
{
|
||||
drawBackground = state;
|
||||
}
|
|
@ -1,41 +0,0 @@
|
|||
//
|
||||
// WINDOW.H
|
||||
//
|
||||
// Graphical User Interface window class
|
||||
//
|
||||
|
||||
#ifndef __WINDOW_H__
|
||||
#define __WINDOW_H__
|
||||
|
||||
#include "element.h"
|
||||
#include <vector>
|
||||
|
||||
class Button; // Forward declaration
|
||||
|
||||
class Window: public Element
|
||||
{
|
||||
public:
|
||||
Window(uint32_t x = 0, uint32_t y = 0, uint32_t w = 0, uint32_t h = 0,
|
||||
void (* f)(Element *) = NULL);
|
||||
~Window(); //Does this destructor need to be virtual? Not sure... Check!
|
||||
virtual void HandleKey(SDL_Scancode key);
|
||||
virtual void HandleMouseMove(uint32_t x, uint32_t y);
|
||||
virtual void HandleMouseButton(uint32_t x, uint32_t y, bool mouseDown);
|
||||
virtual void Draw(void);
|
||||
virtual void Notify(Element *);
|
||||
void AddElement(Element * e);
|
||||
void AddCloseButton(void);
|
||||
void SetBackgroundDraw(bool);
|
||||
|
||||
protected:
|
||||
void (* handler)(Element *);
|
||||
Button * closeButton;
|
||||
std::vector<Element *> list;
|
||||
|
||||
private:
|
||||
uint16_t cbWidth, cbHeight;
|
||||
SDL_Surface * cbUp, * cbDown, * cbHover;
|
||||
bool drawBackground;
|
||||
};
|
||||
|
||||
#endif // __WINDOW_H__
|
Loading…
Reference in New Issue