Integrate thematic sprites and improve Monopoly UI

This commit is contained in:
Adolfo Reyna
2026-02-02 23:14:14 -05:00
parent 3bdbfb1811
commit eb86c3fc0e
8 changed files with 722 additions and 79 deletions

View File

@@ -41,34 +41,84 @@ public:
int ix = cw + 5, iy = ch + 5; int ix = cw + 5, iy = ch + 5;
int iw = width - 2 * cw - 10, ih = height - 2 * ch - 10; int iw = width - 2 * cw - 10, ih = height - 2 * ch - 10;
// Window Background // Window Background (Double Border)
renderer->draw_filled_rectangle(ix, iy, iw, ih, false, 0); renderer->draw_filled_rectangle(ix, iy, iw, ih, false, 0);
renderer->draw_rectangle(ix, iy, iw, ih, true, 1); renderer->draw_rectangle(ix, iy, iw, ih, true, 2);
renderer->draw_rectangle(ix + 3, iy + 3, iw - 6, ih - 6, true, 1);
// Title // Header Title Bar
renderer->draw_string_scaled(ix + (iw - 144) / 2, iy + 5, "== BOARD ==", 2); renderer->draw_filled_rectangle(ix + 4, iy + 4, iw - 8, 30, true, 1);
renderer->set_text_color(false);
renderer->draw_string_scaled(ix + (iw - 12 * 12) / 2, iy + 10, "BOARD STATUS", 2);
renderer->set_text_color(true);
// Stats for current player // Calculate wealth for all players to find the leader
Player& curr = players[observer_idx]; int leader_idx = 0;
int total_wealth = curr.balance; int max_wealth = -1;
for (int i = 0; i < curr.property_count; ++i) { int p_wealth[MAX_PLAYERS];
total_wealth += MONOPOLY_BOARD[curr.properties_owned[i]].cost;
}
char wealth_buf[64];
snprintf(wealth_buf, sizeof(wealth_buf), "%s: Bal:$%d Wealth:$%d", curr.name, curr.balance, total_wealth);
renderer->draw_string_scaled(ix + 10, iy + 30, wealth_buf, 1);
// Legend for players
int ly = iy + 45;
for (int i = 0; i < players_count; ++i) { for (int i = 0; i < players_count; ++i) {
char buf[128]; int total = players[i].balance;
snprintf(buf, sizeof(buf), "%c:%s $%d", (players[i].token ? players[i].token[0] : 'P'), players[i].name, players[i].balance); for (int j = 0; j < players[i].property_count; ++j) {
renderer->draw_string_scaled(ix + 5, ly, buf, 1); total += MONOPOLY_BOARD[players[i].properties_owned[j]].cost;
ly += 12; }
p_wealth[i] = total;
if (total > max_wealth) {
max_wealth = total;
leader_idx = i;
}
} }
renderer->draw_string_scaled(ix + (iw - 120) / 2, iy + ih - 15, "PRESS B TO EXIT", 1); // --- Current Player Section (Observer) ---
Player& curr = players[observer_idx];
char buf[128];
int stats_y = iy + 45;
// Name with token
snprintf(buf, sizeof(buf), "[%c] %s", (curr.token ? curr.token[0] : 'P'), curr.name);
renderer->draw_string_scaled(ix + 12, stats_y, buf, 2);
stats_y += 20;
// Split Balance and Total Wealth into two lines
snprintf(buf, sizeof(buf), "CASH: $%d", curr.balance);
renderer->draw_string_scaled(ix + 15, stats_y, buf, 2);
stats_y += 20;
snprintf(buf, sizeof(buf), "TOTAL: $%d", p_wealth[observer_idx]);
renderer->draw_string_scaled(ix + 15, stats_y, buf, 2);
stats_y += 25;
// Separator Line
renderer->draw_line(ix + 10, stats_y, ix + iw - 10, stats_y, true);
stats_y += 10;
// --- Standings Header ---
renderer->draw_string_scaled(ix + 10, stats_y, "STANDINGS:", 1);
stats_y += 15;
for (int i = 0; i < players_count; ++i) {
bool is_leader = (i == leader_idx);
bool is_observer = (i == observer_idx);
// Format: *[T] Name $Wealth
if (is_leader) {
snprintf(buf, sizeof(buf), "*%c:%-6s $%d", (players[i].token ? players[i].token[0] : 'P'), players[i].name, p_wealth[i]);
} else {
snprintf(buf, sizeof(buf), " %c:%-6s $%d", (players[i].token ? players[i].token[0] : 'P'), players[i].name, p_wealth[i]);
}
if (is_observer) {
renderer->draw_filled_rectangle(ix + 8, stats_y - 2, iw - 16, 12, true, 1);
renderer->set_text_color(false);
}
renderer->draw_string_scaled(ix + 12, stats_y, buf, 1);
if (is_observer) renderer->set_text_color(true);
stats_y += 13;
}
renderer->draw_string_scaled(ix + (iw - 12 * 6) / 2, iy + ih - 15, "PRESS BUTTON", 1);
} }
public: public:

View File

@@ -8,6 +8,7 @@
#include "player.h" #include "player.h"
#include "MonopolyBoardRenderer.h" #include "MonopolyBoardRenderer.h"
#include "sprites.h"
class ChanceModalGame : public Game { class ChanceModalGame : public Game {
const ChanceCard* card; const ChanceCard* card;
@@ -38,26 +39,25 @@ public:
MonopolyBoardRenderer::draw_board_perimeter(renderer, width, height, players, players_count, player_pos); MonopolyBoardRenderer::draw_board_perimeter(renderer, width, height, players, players_count, player_pos);
} }
int win_w = 180; // --- Inner UI (Center Area) ---
int win_h = 120; int cw = width / 7;
int win_x = (width - win_w) / 2; int ch = height / 7;
int win_y = (height - win_h) / 2; int ix = cw + 2, iy = ch + 2;
char buf[256]; int iw = width - 2 * cw - 4, ih = height - 2 * ch - 4;
// Window background // Window background
renderer->draw_filled_rectangle(win_x, win_y, win_w, win_h, false, 0); renderer->draw_filled_rectangle(ix, iy, iw, ih, false, 0);
renderer->draw_rectangle(win_x, win_y, win_w, win_h, true, 2); renderer->draw_rectangle(ix, iy, iw, ih, true, 1);
renderer->draw_rectangle(win_x + 3, win_y + 3, win_w - 6, win_h - 6, true, 1);
// Header // Header
renderer->draw_filled_rectangle(win_x + 4, win_y + 4, win_w - 8, 25, true, 1); renderer->draw_filled_rectangle(ix + 2, iy + 2, iw - 4, 30, true, 1);
renderer->set_text_color(false); renderer->set_text_color(false);
renderer->draw_string_scaled(win_x + (win_w - 6 * 6) / 2, win_y + 8, "CHANCE", 1); renderer->draw_string_scaled(ix + (iw - 6 * 12) / 2, iy + 10, "CHANCE", 2);
renderer->set_text_color(true); renderer->set_text_color(true);
// Card Description (with simple word wrap) // Card Description (with simple word wrap)
int text_y = win_y + 40; int text_y = iy + 45;
int max_chars_per_line = (win_w - 20) / 6; int max_chars_per_line = (iw - 10) / 12;
const char* text = card->description; const char* text = card->description;
char line[64]; char line[64];
int start = 0; int start = 0;
@@ -78,14 +78,17 @@ public:
int copy_len = (count < 63) ? count : 63; int copy_len = (count < 63) ? count : 63;
strncpy(line, text + start, copy_len); strncpy(line, text + start, copy_len);
line[copy_len] = '\0'; line[copy_len] = '\0';
renderer->draw_string_scaled(win_x + 10, text_y, line, 1); renderer->draw_string_scaled(ix + (iw - copy_len * 12) / 2, text_y, line, 2);
text_y += 10; text_y += 18;
start += count; start += count;
if (text[start] == ' ') start++; // Skip the space if (text[start] == ' ') start++; // Skip the space
} }
// Draw Chance sprite
renderer->draw_bitmap(epd_bitmap_Chance, ix + iw - 105, iy + ih - 105, 100, 100, true);
// Prompt // Prompt
renderer->draw_string_scaled(win_x + (win_w - 12 * 6) / 2, win_y + win_h - 15, "Press ANY Button", 1); renderer->draw_string_scaled(ix + (iw - 12 * 12) / 2, iy + ih - 20, "Press BUTTON", 2);
} }
bool is_dismissed() const { return dismissed; } bool is_dismissed() const { return dismissed; }

View File

@@ -7,6 +7,7 @@
#include "community_chest.h" #include "community_chest.h"
#include "player.h" #include "player.h"
#include "MonopolyBoardRenderer.h" #include "MonopolyBoardRenderer.h"
#include "sprites.h"
class CommunityChestModalGame : public Game { class CommunityChestModalGame : public Game {
const CommunityCard* card; const CommunityCard* card;
@@ -37,26 +38,25 @@ public:
MonopolyBoardRenderer::draw_board_perimeter(renderer, width, height, players, players_count, player_pos); MonopolyBoardRenderer::draw_board_perimeter(renderer, width, height, players, players_count, player_pos);
} }
int win_w = 180; // --- Inner UI (Center Area) ---
int win_h = 120; int cw = width / 7;
int win_x = (width - win_w) / 2; int ch = height / 7;
int win_y = (height - win_h) / 2; int ix = cw + 2, iy = ch + 2;
char buf[256]; int iw = width - 2 * cw - 4, ih = height - 2 * ch - 4;
// Window background // Window background
renderer->draw_filled_rectangle(win_x, win_y, win_w, win_h, false, 0); renderer->draw_filled_rectangle(ix, iy, iw, ih, false, 0);
renderer->draw_rectangle(win_x, win_y, win_w, win_h, true, 2); renderer->draw_rectangle(ix, iy, iw, ih, true, 1);
renderer->draw_rectangle(win_x + 3, win_y + 3, win_w - 6, win_h - 6, true, 1);
// Header // Header
renderer->draw_filled_rectangle(win_x + 4, win_y + 4, win_w - 8, 25, true, 1); renderer->draw_filled_rectangle(ix + 2, iy + 2, iw - 4, 30, true, 1);
renderer->set_text_color(false); renderer->set_text_color(false);
renderer->draw_string_scaled(win_x + (win_w - 15 * 6) / 2, win_y + 8, "COMMUNITY CHEST", 1); renderer->draw_string_scaled(ix + (iw - 15 * 12) / 2, iy + 10, "COMMUNITY CHEST", 2);
renderer->set_text_color(true); renderer->set_text_color(true);
// Card Description // Card Description
int text_y = win_y + 40; int text_y = iy + 45;
int max_chars_per_line = (win_w - 20) / 6; int max_chars_per_line = (iw - 10) / 12;
const char* text = card->description; const char* text = card->description;
char line[64]; char line[64];
int start = 0; int start = 0;
@@ -75,14 +75,17 @@ public:
int copy_len = (count < 63) ? count : 63; int copy_len = (count < 63) ? count : 63;
strncpy(line, text + start, copy_len); strncpy(line, text + start, copy_len);
line[copy_len] = '\0'; line[copy_len] = '\0';
renderer->draw_string_scaled(win_x + 10, text_y, line, 1); renderer->draw_string_scaled(ix + (iw - copy_len * 12) / 2, text_y, line, 2);
text_y += 10; text_y += 18;
start += count; start += count;
if (text[start] == ' ') start++; if (text[start] == ' ') start++;
} }
// Draw Community Chest sprite
renderer->draw_bitmap(epd_bitmap_CommunityChest, ix + iw - 105, iy + ih - 105, 100, 100, true);
// Prompt // Prompt
renderer->draw_string_scaled(win_x + (win_w - 12 * 6) / 2, win_y + win_h - 15, "Press ANY Button", 1); renderer->draw_string_scaled(ix + (iw - 12 * 12) / 2, iy + ih - 20, "Press BUTTON", 2);
} }
bool is_dismissed() const { return dismissed; } bool is_dismissed() const { return dismissed; }

View File

@@ -112,7 +112,7 @@ public:
int btn_y = iy + ih - 35; int btn_y = iy + ih - 35;
renderer->draw_filled_rectangle(btn_x, btn_y, btn_w, btn_h, true, 1); renderer->draw_filled_rectangle(btn_x, btn_y, btn_w, btn_h, true, 1);
renderer->set_text_color(false); renderer->set_text_color(false);
renderer->draw_string_scaled(btn_x + 5, btn_y + 5, ">B CONTINUE", 2); renderer->draw_string_scaled(btn_x + 5, btn_y + 5, "> CONTINUE", 2);
renderer->set_text_color(true); renderer->set_text_color(true);
} }
bool is_dismissed() const { return dismissed; } bool is_dismissed() const { return dismissed; }

View File

@@ -21,7 +21,13 @@ public:
if (owner_id != -1) break; if (owner_id != -1) break;
} }
bool isInverted = (index == currentPlayerPos) || (observer_idx != -1 && owner_id == observer_idx); bool isInverted = false;
if (observer_idx != -1) {
isInverted = (owner_id == observer_idx);
} else {
isInverted = (index == currentPlayerPos);
}
if (isInverted) { if (isInverted) {
renderer->draw_filled_rectangle(x, y, w, h, true, 1); renderer->draw_filled_rectangle(x, y, w, h, true, 1);
renderer->set_text_color(false); // Black text on white background renderer->set_text_color(false); // Black text on white background
@@ -67,8 +73,11 @@ public:
else renderer->set_text_color(true); else renderer->set_text_color(true);
} }
char short_name[8] = {0}; char short_name[10] = {0};
int s_ptr = 0; int s_ptr = 0;
bool isCurrentPos = (index == currentPlayerPos && observer_idx != -1);
if (isCurrentPos) short_name[s_ptr++] = '-';
// Add * if owned by someone else // Add * if owned by someone else
if (owner_id != -1 && observer_idx != -1 && owner_id != observer_idx) { if (owner_id != -1 && observer_idx != -1 && owner_id != observer_idx) {
@@ -86,6 +95,9 @@ public:
if (space && space[1] != '\0') short_name[s_ptr++] = space[1]; if (space && space[1] != '\0') short_name[s_ptr++] = space[1];
} }
if (isCurrentPos) short_name[s_ptr++] = '-';
short_name[s_ptr] = '\0';
for (int i = 0; short_name[i]; i++) if(short_name[i] >= 'a' && short_name[i] <= 'z') short_name[i] -= 32; for (int i = 0; short_name[i]; i++) if(short_name[i] >= 'a' && short_name[i] <= 'z') short_name[i] -= 32;
renderer->draw_string_scaled(content_x + (content_w - (int)strlen(short_name) * 6) / 2, content_y + (content_h - 8) / 2, short_name, 1); renderer->draw_string_scaled(content_x + (content_w - (int)strlen(short_name) * 6) / 2, content_y + (content_h - 8) / 2, short_name, 1);

View File

@@ -7,6 +7,7 @@
#include "monopoly_board.h" #include "monopoly_board.h"
#include "player.h" #include "player.h"
#include "MonopolyBoardRenderer.h" #include "MonopolyBoardRenderer.h"
#include "sprites.h"
class PropertyModalGame : public Game { class PropertyModalGame : public Game {
const BoardTile* property; const BoardTile* property;
@@ -20,10 +21,11 @@ class PropertyModalGame : public Game {
bool rent_requested; bool rent_requested;
Player* players; Player* players;
int players_count; int players_count;
int observer_idx;
public: public:
PropertyModalGame(uint16_t width, uint16_t height, LowLevelRenderer* renderer, LowLevelGUI* gui, InputManager* input_manager, const BoardTile* prop, bool owned, const char* owner, int o_id, bool affordable, Player* p_list = nullptr, int p_count = 0) PropertyModalGame(uint16_t width, uint16_t height, LowLevelRenderer* renderer, LowLevelGUI* gui, InputManager* input_manager, const BoardTile* prop, bool owned, const char* owner, int o_id, bool affordable, Player* p_list = nullptr, int p_count = 0, int obs_idx = -1)
: Game(width, height, renderer, gui, input_manager), property(prop), dismissed(false), is_owned(owned), owner_name(owner), owner_id(o_id), can_afford(affordable), selected_choice(0), buy_requested(false), rent_requested(false), players(p_list), players_count(p_count) { : Game(width, height, renderer, gui, input_manager), property(prop), dismissed(false), is_owned(owned), owner_name(owner), owner_id(o_id), can_afford(affordable), selected_choice(0), buy_requested(false), rent_requested(false), players(p_list), players_count(p_count), observer_idx(obs_idx) {
if (is_owned || !can_afford) selected_choice = 1; if (is_owned || !can_afford) selected_choice = 1;
} }
void init() override { dismissed = false; buy_requested = false; rent_requested = false; selected_choice = 0; } void init() override { dismissed = false; buy_requested = false; rent_requested = false; selected_choice = 0; }
@@ -70,7 +72,8 @@ public:
if (players && players_count > 0) { if (players && players_count > 0) {
int property_idx = -1; int property_idx = -1;
for(int i=0; i<40; i++) if(&MONOPOLY_BOARD[i] == property) property_idx = i; for(int i=0; i<40; i++) if(&MONOPOLY_BOARD[i] == property) property_idx = i;
MonopolyBoardRenderer::draw_board_perimeter(renderer, width, height, players, players_count, property_idx); // Keep observer_idx to show player's own properties on perimeter
MonopolyBoardRenderer::draw_board_perimeter(renderer, width, height, players, players_count, property_idx, observer_idx);
} }
// Window background (White box) // Window background (White box)
@@ -83,17 +86,17 @@ public:
renderer->set_text_color(false); // White text renderer->set_text_color(false); // White text
snprintf(buf, sizeof(buf), "%s", property->name); snprintf(buf, sizeof(buf), "%s", property->name);
renderer->draw_string_scaled(win_x + (win_w - (int)strlen(buf) * 12) / 2, win_y + 10, buf, 2); renderer->draw_string_scaled(win_x + (win_w - (int)strlen(buf) * 12) / 2, win_y + 10, buf, 2);
renderer->set_text_color(true);
// Subtitle (Type) // Subtitle (Type)
const char* type_str = "PROPERTY"; const char* type_str = "PROPERTY";
if (property->type == TILE_RAILROAD) type_str = "RAILROAD"; if (property->type == TILE_RAILROAD) type_str = "RAILROAD";
else if (property->type == TILE_UTILITY) type_str = "UTILITY"; else if (property->type == TILE_UTILITY) type_str = "UTILITY";
snprintf(buf, sizeof(buf), "%s", type_str); snprintf(buf, sizeof(buf), "%s", type_str);
renderer->draw_string_scaled(win_x + (win_w - (int)strlen(buf) * 12) / 2, win_y + 45, buf, 2); renderer->draw_string_scaled(win_w - (int)strlen(buf) * 6 + 20, win_y + 30, buf, 1);
renderer->set_text_color(true);
// Info box center // Info box center
int info_y = win_y + 75; int info_y = win_y + 45;
// Price // Price
snprintf(buf, sizeof(buf), "PRICE: $%d", property->cost); snprintf(buf, sizeof(buf), "PRICE: $%d", property->cost);
renderer->draw_string_scaled(win_x + 20, info_y, buf, 2); renderer->draw_string_scaled(win_x + 20, info_y, buf, 2);
@@ -118,6 +121,16 @@ public:
} }
renderer->draw_string_scaled(win_x + 20, info_y, buf, 2); renderer->draw_string_scaled(win_x + 20, info_y, buf, 2);
// Draw special utility sprite if applicable
const unsigned char* sprite = nullptr;
if (property->type == TILE_UTILITY) {
if (strstr(property->name, "Electric")) sprite = epd_bitmap_ElectricCompany;
else if (strstr(property->name, "Water")) sprite = epd_bitmap_WaterWorks;
}
if (sprite) {
renderer->draw_bitmap(sprite, win_x + win_w - 105, win_y + win_h - 105, 100, 100, true);
}
// Action Buttons // Action Buttons
int btn_y = win_y + win_h - 85; int btn_y = win_y + win_h - 85;
int btn_w = win_w - 40; int btn_w = win_w - 40;
@@ -170,12 +183,10 @@ public:
renderer->draw_string_scaled(win_x + 25, btn_y + 10, buf, 2); renderer->draw_string_scaled(win_x + 25, btn_y + 10, buf, 2);
renderer->set_text_color(true); renderer->set_text_color(true);
// Helpful hint
renderer->draw_string_scaled(win_x + 20, win_y + win_h - 20, "A:Next B:Sel", 1);
} else { } else {
renderer->draw_filled_rectangle(win_x + 20, btn_y, btn_w, btn_h, true, 1); renderer->draw_filled_rectangle(win_x + 20, btn_y, btn_w, btn_h, true, 1);
renderer->set_text_color(false); renderer->set_text_color(false);
renderer->draw_string_scaled(win_x + (win_w - 7 * 12) / 2, btn_y + 10, ">B PASS", 2); renderer->draw_string_scaled(win_x + (win_w - 7 * 12) / 2, btn_y + 10, ">PASS", 2);
renderer->set_text_color(true); renderer->set_text_color(true);
} }
} }

View File

@@ -22,6 +22,8 @@ extern "C" {
#include "BoardModalGame.h" #include "BoardModalGame.h"
#include "ChanceModalGame.h" #include "ChanceModalGame.h"
#include "CommunityChestModalGame.h" #include "CommunityChestModalGame.h"
#include "TurnModalGame.h"
#include "sprites.h"
#include "MonopolyBoardRenderer.h" #include "MonopolyBoardRenderer.h"
@@ -50,6 +52,7 @@ void MonopolyGame::init() {
shuffle_chance_deck(); shuffle_chance_deck();
shuffle_community_deck(); shuffle_community_deck();
if (active_modal) { delete active_modal; active_modal = nullptr; } if (active_modal) { delete active_modal; active_modal = nullptr; }
active_modal = new TurnModalGame(width, height, renderer, gui, input_manager, &players[current_player_idx]);
// TODO: Reset all board state, property ownership, etc. // TODO: Reset all board state, property ownership, etc.
} }
@@ -105,6 +108,7 @@ bool MonopolyGame::update(const InputEvent& event) {
BoardModalGame* board_modal = (active_modal->get_type() == Game::Type::MONOPOLY_BOARD) ? static_cast<BoardModalGame*>(active_modal) : nullptr; BoardModalGame* board_modal = (active_modal->get_type() == Game::Type::MONOPOLY_BOARD) ? static_cast<BoardModalGame*>(active_modal) : nullptr;
ChanceModalGame* chance_modal = (active_modal->get_type() == Game::Type::MONOPOLY_CHANCE) ? static_cast<ChanceModalGame*>(active_modal) : nullptr; ChanceModalGame* chance_modal = (active_modal->get_type() == Game::Type::MONOPOLY_CHANCE) ? static_cast<ChanceModalGame*>(active_modal) : nullptr;
CommunityChestModalGame* community_modal = (active_modal->get_type() == Game::Type::MONOPOLY_COMMUNITY_CHEST) ? static_cast<CommunityChestModalGame*>(active_modal) : nullptr; CommunityChestModalGame* community_modal = (active_modal->get_type() == Game::Type::MONOPOLY_COMMUNITY_CHEST) ? static_cast<CommunityChestModalGame*>(active_modal) : nullptr;
TurnModalGame* turn_modal = (active_modal->get_type() == Game::Type::MONOPOLY_TURN) ? static_cast<TurnModalGame*>(active_modal) : nullptr;
if (dice_modal && dice_modal->is_dismissed()) { if (dice_modal && dice_modal->is_dismissed()) {
delete active_modal; delete active_modal;
@@ -128,7 +132,7 @@ bool MonopolyGame::update(const InputEvent& event) {
if (is_owned) break; if (is_owned) break;
} }
bool can_afford = (p->balance >= MONOPOLY_BOARD[modal_property_index].cost); bool can_afford = (p->balance >= MONOPOLY_BOARD[modal_property_index].cost);
active_modal = new PropertyModalGame(width, height, renderer, gui, input_manager, &MONOPOLY_BOARD[modal_property_index], is_owned, owner_name, owner_id, can_afford, players, players_count); active_modal = new PropertyModalGame(width, height, renderer, gui, input_manager, &MONOPOLY_BOARD[modal_property_index], is_owned, owner_name, owner_id, can_afford, players, players_count, current_player_idx);
modal_property_index = -1; modal_property_index = -1;
} else if (last_drawn_chance_idx >= 0) { } else if (last_drawn_chance_idx >= 0) {
active_modal = new ChanceModalGame(width, height, renderer, gui, input_manager, &CHANCE_DECK[last_drawn_chance_idx], players, players_count, p->position); active_modal = new ChanceModalGame(width, height, renderer, gui, input_manager, &CHANCE_DECK[last_drawn_chance_idx], players, players_count, p->position);
@@ -219,7 +223,7 @@ bool MonopolyGame::update(const InputEvent& event) {
} }
} }
bool can_afford = (p->balance >= landed->cost); bool can_afford = (p->balance >= landed->cost);
active_modal = new PropertyModalGame(width, height, renderer, gui, input_manager, landed, is_owned, owner_name, owner_id, can_afford, players, players_count); active_modal = new PropertyModalGame(width, height, renderer, gui, input_manager, landed, is_owned, owner_name, owner_id, can_afford, players, players_count, current_player_idx);
} }
} }
return needs_redraw; return needs_redraw;
@@ -283,7 +287,7 @@ bool MonopolyGame::update(const InputEvent& event) {
} }
} }
bool can_afford = (p->balance >= landed->cost); bool can_afford = (p->balance >= landed->cost);
active_modal = new PropertyModalGame(width, height, renderer, gui, input_manager, landed, is_owned, owner_name, owner_id, can_afford, players, players_count); active_modal = new PropertyModalGame(width, height, renderer, gui, input_manager, landed, is_owned, owner_name, owner_id, can_afford, players, players_count, current_player_idx);
} }
} }
return needs_redraw; return needs_redraw;
@@ -360,6 +364,10 @@ bool MonopolyGame::update(const InputEvent& event) {
delete active_modal; delete active_modal;
active_modal = nullptr; active_modal = nullptr;
needs_redraw = true; needs_redraw = true;
} else if (turn_modal && turn_modal->is_dismissed()) {
delete active_modal;
active_modal = nullptr;
needs_redraw = true;
} }
return needs_redraw; return needs_redraw;
} }
@@ -445,6 +453,7 @@ roll_dice_logic:
} else { } else {
current_player_idx = (current_player_idx + 1) % players_count; current_player_idx = (current_player_idx + 1) % players_count;
has_rolled = false; double_rolls = 0; just_sent_to_jail = false; selected_action = 0; has_rolled = false; double_rolls = 0; just_sent_to_jail = false; selected_action = 0;
active_modal = new TurnModalGame(width, height, renderer, gui, input_manager, &players[current_player_idx]);
needs_redraw = true; needs_redraw = true;
} }
break; break;
@@ -475,22 +484,50 @@ void MonopolyGame::draw() {
int ix = cw + 2, iy = ch + 2; int ix = cw + 2, iy = ch + 2;
int iw = width - 2 * cw - 4, ih = height - 2 * ch - 4; int iw = width - 2 * cw - 4, ih = height - 2 * ch - 4;
// Stats Window in center // --- Inner Dashboard UI ---
// Window Border
renderer->draw_rectangle(ix, iy, iw, ih, true, 2);
renderer->draw_rectangle(ix + 3, iy + 3, iw - 6, ih - 6, true, 1);
// Header Title Bar (Player Name)
char buf[128]; char buf[128];
renderer->draw_string_scaled(ix + 70, iy + 180, "Monopoly", 3); renderer->draw_filled_rectangle(ix + 4, iy + 4, iw - 8, 35, true, 1);
renderer->set_text_color(false); // White text
snprintf(buf, sizeof(buf), "%s'S TURN", p->name);
renderer->draw_string_scaled(ix + (iw - (int)strlen(buf) * 12) / 2, iy + 12, buf, 2);
renderer->set_text_color(true);
int content_y = iy + 0; renderer->draw_string_scaled(ix + (iw - 8 * 18) / 2, iy + ih - 35, "Monopoly", 3);
snprintf(buf, sizeof(buf), "%s", p->name);
renderer->draw_string_scaled(ix + 5, content_y, buf, 3);
content_y += 40;
snprintf(buf, sizeof(buf), "BAL: $%d", p->balance); int content_y = iy + 50;
renderer->draw_string_scaled(ix + 5, content_y, buf, 2);
snprintf(buf, sizeof(buf), "BALANCE: $%d", p->balance);
renderer->draw_string_scaled(ix + 10, content_y, buf, 2);
content_y += 25;
snprintf(buf, sizeof(buf), "TILE: %s", tile->name);
renderer->draw_string_scaled(ix + 10, content_y, buf, 1);
content_y += 20; content_y += 20;
snprintf(buf, sizeof(buf), "POS: %s", tile->name); // Draw special tile sprite
renderer->draw_string_scaled(ix + 5, content_y, buf, 2); const unsigned char* sprite = nullptr;
content_y += 20; if (tile->type == TILE_COMMUNITY_CHEST) sprite = epd_bitmap_CommunityChest;
else if (tile->type == TILE_CHANCE) sprite = epd_bitmap_Chance;
else if (tile->type == TILE_FREE_PARKING) sprite = epd_bitmap_FreeParking;
else if (tile->type == TILE_GO_TO_JAIL) sprite = epd_bitmap_GoToJail;
else if (tile->type == TILE_UTILITY) {
if (strstr(tile->name, "Electric")) sprite = epd_bitmap_ElectricCompany;
else if (strstr(tile->name, "Water")) sprite = epd_bitmap_WaterWorks;
}
if (sprite) {
// Draw at bottom right of dashboard
renderer->draw_bitmap(sprite, ix + iw - 105, iy + ih - 105, 100, 100, true);
}
// Separator line
renderer->draw_line(ix + 10, content_y, ix + iw - 10, content_y, true);
content_y += 15;
// Draw action menu // Draw action menu
const char* actions[3]; const char* actions[3];
int menu_count = 0; int menu_count = 0;
@@ -504,7 +541,7 @@ void MonopolyGame::draw() {
for (int i = 0; i < menu_count; ++i) { for (int i = 0; i < menu_count; ++i) {
snprintf(buf, sizeof(buf), "%s%s", (i == selected_action) ? "> " : " ", actions[i]); snprintf(buf, sizeof(buf), "%s%s", (i == selected_action) ? "> " : " ", actions[i]);
renderer->draw_string_scaled(ix + 5, content_y, buf, 2); renderer->draw_string_scaled(ix + 15, content_y, buf, 2);
content_y += 20; content_y += 25;
} }
} }

527
games/monopoly/sprites.h Normal file
View File

@@ -0,0 +1,527 @@
#pragma once
#ifndef PROGMEM
#define PROGMEM
#endif
// 'CommunityChes', 100x100px
static const unsigned char epd_bitmap_CommunityChest [] PROGMEM = {
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xed, 0x92, 0x49, 0x24, 0x93,
0x6f, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf2, 0x26, 0x7f, 0xff, 0xff, 0xff, 0x63, 0xf0, 0xff,
0xff, 0xff, 0xff, 0xff, 0xf4, 0x10, 0x00, 0x00, 0x00, 0x01, 0xb9, 0xf0, 0xff, 0xff, 0xff, 0xff,
0xff, 0xed, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x94, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xeb, 0xff,
0xff, 0xff, 0xff, 0xff, 0xb6, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd7, 0x00, 0x00, 0x4d, 0xbf,
0xff, 0x2f, 0x70, 0xff, 0xff, 0xff, 0xff, 0xff, 0x97, 0x6f, 0xff, 0x40, 0x00, 0x00, 0x6d, 0x30,
0xff, 0xff, 0xff, 0xff, 0xff, 0xae, 0xb2, 0x49, 0xbf, 0xfb, 0x6c, 0xcf, 0xb0, 0xff, 0xff, 0xff,
0xff, 0xff, 0x6e, 0x9b, 0x6c, 0xe9, 0x9b, 0x6d, 0x83, 0x30, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x5d,
0xd9, 0xb7, 0x2e, 0x64, 0x99, 0xb3, 0x70, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xbd, 0x66, 0x95, 0xb3,
0x6f, 0xb3, 0x38, 0x70, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xbb, 0x3e, 0xf4, 0xd9, 0x99, 0x66, 0x4c,
0xf0, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x72, 0xc9, 0x4f, 0x4e, 0xd6, 0x66, 0x74, 0xf0, 0xff, 0xff,
0xff, 0xff, 0xfa, 0xf6, 0xdb, 0x69, 0x76, 0x76, 0xcc, 0x51, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xf6,
0xed, 0x36, 0xbb, 0x95, 0x99, 0x8d, 0x33, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xf5, 0xc9, 0xe4, 0x96,
0xed, 0xad, 0x9b, 0x97, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xe9, 0xde, 0x42, 0x01, 0x32, 0xe6, 0x77,
0xc7, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xcb, 0xb0, 0xdd, 0xf9, 0xdb, 0x36, 0xb3, 0xcf, 0xf0, 0xff,
0xff, 0xff, 0xff, 0xd7, 0x2f, 0xdb, 0x0d, 0x4d, 0x99, 0x21, 0xcf, 0xf0, 0xff, 0xff, 0xff, 0xff,
0xb7, 0x6e, 0x07, 0xf9, 0x74, 0xed, 0x4c, 0xdf, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xae, 0xd3, 0xff,
0xf9, 0x97, 0x36, 0xcc, 0x3f, 0xf0, 0xff, 0xff, 0xff, 0xff, 0x5e, 0x93, 0xff, 0x26, 0xed, 0xd1,
0x93, 0x3f, 0xf0, 0xff, 0xff, 0xff, 0xfe, 0x5c, 0xe8, 0xe7, 0x06, 0x69, 0x5d, 0x3e, 0x7f, 0xf0,
0xff, 0xff, 0xff, 0xfe, 0xc0, 0x0c, 0x00, 0x09, 0x9b, 0x63, 0x24, 0xff, 0xf0, 0xff, 0xff, 0xff,
0xfe, 0xff, 0x80, 0x7f, 0xb3, 0xb6, 0xb6, 0x6c, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xfe, 0x01, 0xf9,
0x84, 0x7c, 0x66, 0x9c, 0x31, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xf8, 0x44, 0x03, 0xd6, 0x7f, 0x01,
0xcd, 0x9b, 0xff, 0xf0, 0xff, 0xff, 0xff, 0x83, 0xc7, 0x67, 0xff, 0x7f, 0x9f, 0x69, 0xc3, 0xff,
0xf0, 0xff, 0xff, 0xf0, 0xfc, 0x03, 0x47, 0xff, 0xbf, 0xcc, 0xf3, 0x67, 0xff, 0xf0, 0xff, 0xff,
0x8f, 0xc0, 0x21, 0x9f, 0xff, 0xbf, 0xe0, 0x03, 0xe7, 0xff, 0xf0, 0xff, 0xe0, 0x7c, 0x07, 0xf8,
0x9f, 0xff, 0xbf, 0xe0, 0x09, 0xcf, 0xff, 0xf0, 0xfc, 0x1f, 0xc0, 0x3b, 0x39, 0x3f, 0xff, 0xbf,
0xf0, 0x78, 0xdf, 0xff, 0xf0, 0xc1, 0xf8, 0x00, 0x3f, 0xfb, 0x7f, 0xff, 0xf7, 0xf1, 0xe0, 0x1f,
0xff, 0xf0, 0x8f, 0x80, 0x00, 0x3f, 0xf0, 0x7f, 0xef, 0xf3, 0x8f, 0x1c, 0x3f, 0xff, 0xf0, 0x87,
0x80, 0x00, 0x30, 0xd8, 0xff, 0xef, 0xf8, 0x78, 0x19, 0xff, 0xff, 0xf0, 0x90, 0x7e, 0x00, 0x7f,
0xfc, 0xf7, 0xef, 0xe3, 0xc3, 0x9d, 0xff, 0xff, 0xf0, 0xbc, 0x01, 0xf2, 0x0f, 0xfc, 0xf7, 0xde,
0x1e, 0x1c, 0x9d, 0xff, 0xff, 0xf0, 0xbd, 0xf4, 0x03, 0xf0, 0x08, 0xf7, 0xc8, 0xf0, 0xe7, 0x39,
0xff, 0xff, 0xf0, 0xbc, 0x9f, 0x80, 0x0f, 0xe0, 0x67, 0x83, 0x87, 0x39, 0x9d, 0xff, 0xff, 0xf0,
0xbc, 0xe2, 0xf7, 0xb0, 0x3f, 0x80, 0x3c, 0x35, 0xcc, 0xdd, 0xff, 0xff, 0xf0, 0xbc, 0xba, 0x46,
0xdc, 0x80, 0xff, 0xe1, 0xd9, 0x67, 0x1d, 0xff, 0xff, 0xf0, 0xbc, 0x9b, 0xcd, 0x99, 0xec, 0x07,
0x03, 0x4e, 0x66, 0xdc, 0xff, 0xff, 0xf0, 0xbf, 0x40, 0x21, 0x0d, 0x37, 0x4c, 0x73, 0x72, 0x92,
0x9d, 0xff, 0xff, 0xf0, 0xbf, 0xfe, 0x00, 0xa4, 0xd3, 0x4f, 0x72, 0x93, 0xd9, 0x9d, 0xff, 0xff,
0xf0, 0x97, 0xff, 0xcc, 0x24, 0xda, 0xdf, 0x72, 0xcc, 0xc4, 0xdc, 0xff, 0xff, 0xf0, 0xbf, 0xff,
0xfe, 0x24, 0x6c, 0xcf, 0x73, 0x44, 0xc6, 0x5d, 0xff, 0xff, 0xf0, 0xbc, 0x0f, 0xdf, 0x0e, 0x07,
0x2f, 0x73, 0x49, 0xc5, 0x9d, 0xff, 0xff, 0xf0, 0xbc, 0x80, 0x3b, 0x2f, 0xf0, 0x1f, 0x72, 0xd3,
0x9c, 0x9c, 0xff, 0xff, 0xf0, 0x9c, 0xf4, 0x33, 0x2f, 0xff, 0xff, 0x7a, 0x90, 0x72, 0xdc, 0xff,
0xff, 0xf0, 0xbd, 0x37, 0xb7, 0x67, 0xff, 0xff, 0x73, 0x5f, 0x86, 0xdd, 0xff, 0xff, 0xf0, 0xbd,
0x9a, 0x9f, 0xc0, 0x3f, 0xff, 0x73, 0x4c, 0x39, 0x1c, 0xff, 0xff, 0xf0, 0x9c, 0xea, 0xcf, 0x9d,
0x80, 0xff, 0x79, 0xa1, 0xcf, 0x5c, 0xff, 0xff, 0xf0, 0xbc, 0xad, 0x60, 0x36, 0xd8, 0x1f, 0x79,
0xbe, 0xf2, 0xdd, 0xff, 0xff, 0xf0, 0x9d, 0xb5, 0xbd, 0xd2, 0x6f, 0x0f, 0x72, 0x66, 0x36, 0x9c,
0xff, 0xff, 0xf0, 0x9c, 0xd6, 0x96, 0x5d, 0xa5, 0xef, 0x7b, 0x99, 0xcd, 0x9c, 0xff, 0xff, 0xf0,
0xbc, 0x5a, 0xd3, 0xb5, 0xb5, 0x4f, 0x79, 0xb7, 0x6c, 0x7d, 0xff, 0xff, 0xf0, 0x9e, 0x0b, 0x6c,
0xcd, 0x5b, 0x4f, 0x79, 0x65, 0x33, 0xfc, 0xff, 0xff, 0xf0, 0x97, 0xe1, 0x6e, 0x73, 0x5a, 0xcf,
0x7b, 0x5d, 0xc7, 0xf9, 0xff, 0xff, 0xf0, 0x9f, 0xfc, 0x13, 0x9e, 0xcc, 0xaf, 0x79, 0x9a, 0x5e,
0xe3, 0xff, 0xff, 0xf0, 0x8f, 0xff, 0xc0, 0xe4, 0xe7, 0xaf, 0x79, 0xb2, 0x7f, 0x9f, 0xff, 0xff,
0xf0, 0xe0, 0xff, 0xfe, 0x1b, 0x39, 0x4f, 0x79, 0x61, 0xfe, 0x7f, 0xff, 0xff, 0xf0, 0xfe, 0x07,
0xff, 0xc1, 0x9b, 0x4f, 0x79, 0x0f, 0xf1, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xe0, 0xff, 0xfc, 0x0c,
0xcf, 0x79, 0x3f, 0xcf, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xfe, 0x0f, 0xff, 0xe1, 0xaf, 0x78, 0xff,
0x3f, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xc0, 0xff, 0xfc, 0x0f, 0x7f, 0xdc, 0xff, 0xff, 0xff,
0xff, 0xf0, 0xff, 0xff, 0xfe, 0x0f, 0xff, 0xff, 0x7f, 0xf3, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff,
0xff, 0xff, 0xc1, 0xfd, 0xff, 0x7f, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xfc,
0x1f, 0xff, 0x6e, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xc1, 0xfb, 0x78,
0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x3e, 0x63, 0xff, 0xff, 0xff,
0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc2, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0,
0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xf0
};
// 'Chance', 100x100px
static const unsigned char epd_bitmap_Chance [] PROGMEM = {
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0,
0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, 0x1f, 0xff,
0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x90, 0x07, 0xff, 0xff, 0xff, 0xff,
0xf0, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x12, 0x06, 0x41, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff,
0xff, 0xff, 0xf0, 0x44, 0x61, 0x10, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xc1,
0x11, 0x08, 0x40, 0x7f, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xc1, 0x11, 0x12, 0x19,
0x3f, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0x84, 0x44, 0x44, 0x84, 0x1f, 0xff, 0xff,
0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0x08, 0x88, 0x01, 0x20, 0x8f, 0xff, 0xff, 0xff, 0xf0, 0xff,
0xff, 0xff, 0xfe, 0x12, 0x20, 0x00, 0x26, 0x0f, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xfc,
0x21, 0x03, 0xfe, 0x00, 0x47, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xfc, 0x24, 0x4f, 0xff,
0x92, 0x43, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xf8, 0x84, 0x1f, 0xff, 0xc2, 0x23, 0xff,
0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xf8, 0x49, 0x3f, 0xff, 0xe1, 0x09, 0xff, 0xff, 0xff, 0xf0,
0xff, 0xff, 0xff, 0xf1, 0x10, 0x7f, 0xff, 0xf0, 0x41, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff,
0xf0, 0x90, 0xff, 0xff, 0xf8, 0x90, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xf2, 0x04, 0xff,
0xff, 0xfc, 0x24, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xf0, 0x61, 0xff, 0xff, 0xfc, 0x24,
0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xe1, 0x09, 0xff, 0xff, 0xfc, 0x80, 0x7f, 0xff, 0xff,
0xf0, 0xff, 0xff, 0xff, 0xe2, 0x43, 0xff, 0xff, 0xfc, 0x18, 0x7f, 0xff, 0xff, 0xf0, 0xff, 0xff,
0xff, 0xe0, 0x93, 0xff, 0xff, 0xfe, 0x42, 0x7f, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xe4, 0x23,
0xff, 0xff, 0xfe, 0x09, 0x7f, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xe1, 0x03, 0xff, 0xff, 0xfc,
0x21, 0x7f, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xe1, 0x33, 0xff, 0xff, 0xfe, 0x24, 0x7f, 0xff,
0xff, 0xf0, 0xff, 0xff, 0xff, 0xe4, 0x03, 0xff, 0xff, 0xfc, 0x10, 0x7f, 0xff, 0xff, 0xf0, 0xff,
0xff, 0xff, 0xf0, 0xc9, 0xff, 0xff, 0xfc, 0x46, 0x7f, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xf2,
0x01, 0xff, 0xff, 0xfc, 0x20, 0x7f, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xf0, 0x60, 0xff, 0xff,
0xfc, 0x88, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xf1, 0x08, 0x7f, 0xff, 0xf8, 0x12, 0x7f,
0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xf8, 0x88, 0x3f, 0xff, 0xf8, 0x44, 0xff, 0xff, 0xff, 0xf0,
0xff, 0xff, 0xff, 0xf8, 0x24, 0x3f, 0xff, 0xf1, 0x20, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff,
0xf9, 0x20, 0xff, 0xff, 0xe0, 0x89, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xfc, 0x09, 0xff,
0xff, 0xe2, 0x11, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xfc, 0x47, 0xff, 0xff, 0xc2, 0x43,
0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xfe, 0x0f, 0xff, 0xff, 0x88, 0x47, 0xff, 0xff, 0xff,
0xf0, 0xff, 0xff, 0xff, 0xff, 0x3f, 0xff, 0xff, 0x03, 0x07, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xfe, 0x10, 0x2f, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xfc, 0x14, 0x9f, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x42,
0x1f, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x48, 0x7f, 0xff, 0xff,
0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc1, 0x04, 0x7f, 0xff, 0xff, 0xff, 0xf0, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0x84, 0x90, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0x04, 0x21, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x11,
0x27, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x10, 0x8f, 0xff, 0xff,
0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x46, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xf0,
0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x48, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff,
0xff, 0xff, 0xc3, 0x08, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
0x20, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0c, 0x93, 0xff, 0xff,
0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x83, 0xff, 0xff, 0xff, 0xff, 0xff,
0xf0, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x32, 0x27, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff,
0xff, 0xff, 0xfc, 0x02, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xf8,
0x48, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x88, 0x7f, 0xff,
0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x84, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x31, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff,
0xff, 0xff, 0xff, 0xf2, 0x43, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff,
0xf0, 0x83, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xe1, 0x23, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xe2, 0x13, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x93, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0,
0xff, 0xff, 0xff, 0xff, 0xf1, 0x21, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff,
0xff, 0xf0, 0x48, 0xf1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xf2, 0x00,
0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xa4, 0x01, 0xff, 0xff,
0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x89, 0x11, 0xff, 0xff, 0xff, 0xff, 0xff,
0xf0, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x12, 0x43, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff,
0xff, 0xff, 0xfc, 0x40, 0x8b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xfe,
0x2c, 0x23, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x01, 0x27, 0xff,
0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0x84, 0x87, 0xff, 0xff, 0xff, 0xff,
0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x87, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff,
0xff, 0xff, 0xff, 0xff, 0xf0, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc,
0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x01, 0xff, 0xff,
0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe1, 0x64, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff,
0xff, 0xff, 0xff, 0xc2, 0x10, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff,
0xc2, 0x0a, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc8, 0xc2, 0x3f,
0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0x82, 0x10, 0x3f, 0xff, 0xff, 0xff,
0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0x90, 0x89, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff,
0xff, 0xff, 0xff, 0xff, 0xc4, 0x62, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff,
0xff, 0xc3, 0x04, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc8, 0x11,
0x3f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0xc4, 0x7f, 0xff, 0xff,
0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe4, 0x10, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xf0,
0xff, 0xff, 0xff, 0xff, 0xff, 0xf1, 0x10, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff,
0xff, 0xff, 0xf8, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe,
0x67, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xf0
};
// 'FreeParking', 100x100px
static const unsigned char epd_bitmap_FreeParking [] PROGMEM = {
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff,
0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff,
0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xfe,
0x00, 0x4c, 0x90, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xf8, 0x02, 0x42, 0x4d,
0x20, 0x1f, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xf0, 0x12, 0x32, 0x41, 0x20, 0x07, 0xff,
0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xc0, 0x49, 0x89, 0x32, 0x4c, 0x03, 0xff, 0xff, 0xff, 0xf0,
0xff, 0xff, 0xff, 0xc1, 0x24, 0x49, 0x08, 0x93, 0x41, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff,
0x84, 0x92, 0x44, 0xc9, 0x20, 0x41, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0x04, 0x92, 0x30,
0x24, 0x4c, 0x90, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0x12, 0x40, 0x00, 0x00, 0x02, 0x24,
0x7f, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xfe, 0x09, 0x20, 0x00, 0x00, 0x02, 0x48, 0x7f, 0xff, 0xff,
0xf0, 0xff, 0xff, 0xfe, 0x09, 0x20, 0x00, 0x00, 0x04, 0x90, 0x7f, 0xff, 0xff, 0xf0, 0xff, 0xff,
0xff, 0x24, 0x83, 0xff, 0xff, 0xc4, 0x94, 0x7f, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xfe, 0x12, 0x23,
0xff, 0xff, 0xc1, 0x20, 0x7f, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xfe, 0x12, 0x41, 0xff, 0xff, 0xc4,
0x48, 0x7f, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0x09, 0x13, 0xff, 0xff, 0xc2, 0x48, 0x7f, 0xff,
0xff, 0xf0, 0xff, 0xff, 0xff, 0x09, 0x21, 0xff, 0xff, 0xc2, 0x24, 0x7f, 0xff, 0xff, 0xf0, 0xff,
0xff, 0xff, 0x12, 0x43, 0xff, 0xff, 0xc4, 0x90, 0x7f, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0x04,
0x93, 0xff, 0xff, 0xc1, 0x10, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0x09, 0x21, 0xff, 0xff,
0xc4, 0x48, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0x09, 0x21, 0xff, 0xff, 0xc4, 0x88, 0xff,
0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0x84, 0x80, 0x00, 0x00, 0x02, 0x20, 0xff, 0xff, 0xff, 0xf0,
0xff, 0xff, 0xff, 0x84, 0x90, 0x00, 0x00, 0x02, 0x61, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff,
0x89, 0x24, 0x00, 0x00, 0x19, 0x11, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0x82, 0x49, 0xb6,
0xdb, 0x44, 0x91, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xc4, 0x92, 0x00, 0x00, 0x44, 0x81,
0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xc4, 0x92, 0x4d, 0x24, 0x92, 0x61, 0xff, 0xff, 0xff,
0xf0, 0xff, 0xff, 0xff, 0xc2, 0x49, 0x20, 0x12, 0x22, 0x03, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff,
0xff, 0xc1, 0x24, 0x80, 0x02, 0x49, 0x93, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xc4, 0x84,
0x80, 0x00, 0x90, 0x43, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xe0, 0x92, 0x07, 0xe0, 0x26,
0x43, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xe2, 0x48, 0x1f, 0xf8, 0x21, 0x23, 0xff, 0xff,
0xff, 0xf0, 0xff, 0xff, 0xff, 0xc2, 0x48, 0x3f, 0xfe, 0x19, 0x03, 0xff, 0xff, 0xff, 0xf0, 0xff,
0xff, 0xfe, 0x01, 0x24, 0x7f, 0xfe, 0x04, 0xc0, 0x7f, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xe0, 0x01,
0x20, 0x7f, 0xff, 0x04, 0x00, 0x07, 0xff, 0xff, 0xf0, 0xff, 0xff, 0x80, 0x02, 0x48, 0xff, 0xff,
0x89, 0x20, 0x00, 0xff, 0xff, 0xf0, 0xff, 0xff, 0x00, 0x98, 0x90, 0xfc, 0x3f, 0x89, 0x2c, 0x80,
0xff, 0xff, 0xf0, 0xff, 0xff, 0x09, 0x24, 0x90, 0xfc, 0x9f, 0x84, 0x82, 0x48, 0xff, 0xff, 0xf0,
0xff, 0xff, 0x04, 0x44, 0x41, 0xf9, 0xdf, 0x84, 0x92, 0x48, 0xff, 0xff, 0xf0, 0xff, 0xff, 0x12,
0x53, 0x20, 0xfd, 0xdf, 0x82, 0x49, 0x20, 0xff, 0xff, 0xf0, 0xff, 0xff, 0x09, 0x10, 0x98, 0xfc,
0x9f, 0x89, 0x24, 0x90, 0xff, 0xff, 0xf0, 0xff, 0xff, 0x09, 0x24, 0x80, 0xfe, 0x7f, 0x89, 0x24,
0x90, 0xff, 0xff, 0xf0, 0xff, 0xff, 0x12, 0x49, 0x20, 0xff, 0xff, 0x84, 0x92, 0x48, 0xff, 0xff,
0xf0, 0xff, 0xff, 0x04, 0x92, 0x48, 0x7f, 0xff, 0x12, 0x49, 0x20, 0xff, 0xff, 0xf0, 0xff, 0xff,
0x09, 0x24, 0x90, 0x7f, 0xfe, 0x09, 0x24, 0x24, 0xff, 0xff, 0xf0, 0xff, 0xff, 0x12, 0x49, 0x26,
0x1f, 0xfc, 0x24, 0x92, 0x90, 0xff, 0xff, 0xf0, 0xff, 0xff, 0x04, 0x92, 0x48, 0x1f, 0xf8, 0x12,
0x48, 0x90, 0xff, 0xff, 0xf0, 0xff, 0xff, 0x09, 0x24, 0x92, 0x03, 0xc0, 0x49, 0x24, 0x48, 0xff,
0xff, 0xf0, 0xff, 0xff, 0x00, 0x49, 0x24, 0x80, 0x01, 0x24, 0x93, 0x00, 0xff, 0xff, 0xf0, 0xff,
0xff, 0x00, 0x00, 0x09, 0x20, 0x01, 0x20, 0x00, 0x00, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xe0, 0x00,
0x00, 0x24, 0x14, 0x00, 0x00, 0x07, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x04, 0xc0,
0x00, 0x00, 0x3f, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xfc, 0x7c, 0x40, 0x09, 0x28, 0x06, 0x3f, 0x3f,
0xff, 0xff, 0xf0, 0xff, 0xff, 0xfc, 0x7c, 0x7f, 0x82, 0x21, 0xfe, 0x3f, 0x3f, 0xff, 0xff, 0xf0,
0xff, 0xff, 0xfc, 0x7c, 0x7f, 0xc0, 0x81, 0xff, 0x3f, 0x3f, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xfc,
0x7c, 0x7f, 0xe0, 0x07, 0xfe, 0x3f, 0x3f, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xfc, 0x7e, 0x7f, 0xf8,
0x0f, 0xfe, 0x3f, 0x3f, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xfc, 0x7c, 0x7f, 0xff, 0xff, 0xff, 0x3f,
0x3f, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xfc, 0x7c, 0x7f, 0xff, 0xff, 0xfe, 0x3f, 0x3f, 0xff, 0xff,
0xf0, 0xff, 0xff, 0xfc, 0x7c, 0x7f, 0xff, 0xff, 0xfe, 0x3f, 0x3f, 0xff, 0xff, 0xf0, 0xff, 0xff,
0xfc, 0x7c, 0x7f, 0xff, 0xff, 0xff, 0x3f, 0x3f, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xfc, 0x7c, 0x7f,
0xff, 0xff, 0xfe, 0x3f, 0x3f, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xfc, 0x7c, 0x7f, 0xff, 0xff, 0xfe,
0x3f, 0x3f, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xfc, 0x7c, 0x7f, 0xff, 0xff, 0xff, 0x3e, 0x3f, 0xff,
0xff, 0xf0, 0xff, 0xff, 0xfc, 0x38, 0x7f, 0xff, 0xff, 0xff, 0x1c, 0x3f, 0xff, 0xff, 0xf0, 0xff,
0xff, 0xfe, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x3f, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0x01,
0xff, 0xff, 0xff, 0xff, 0x80, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xf0
};
// 'WaterWorks', 100x100px
static const unsigned char epd_bitmap_WaterWorks [] PROGMEM = {
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x87, 0xff,
0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x03, 0xff, 0xff, 0xff, 0xff,
0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff,
0xff, 0xff, 0xff, 0xfc, 0x3f, 0x87, 0xf8, 0x3f, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff,
0xf8, 0x1f, 0x87, 0xf0, 0x3f, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xf3, 0xc0, 0x30,
0x07, 0x9f, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xf3, 0xc0, 0x78, 0x07, 0xcf, 0xff,
0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xf3, 0xc0, 0x78, 0x07, 0x9f, 0xff, 0xff, 0xff, 0xf0,
0xff, 0xff, 0xff, 0xff, 0xf3, 0xc0, 0x30, 0x03, 0x9f, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff,
0xff, 0xf8, 0x1f, 0x03, 0xf0, 0x3f, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x3f,
0x23, 0xf8, 0x7f, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb3, 0xff, 0xff,
0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x33, 0xff, 0xff, 0xff, 0xff, 0xff,
0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x33, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff,
0xf1, 0xff, 0xff, 0xff, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xc0, 0x3f, 0xff,
0xfc, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0x82, 0x1f, 0xff, 0xfc, 0x00, 0xff,
0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0x1f, 0x8f, 0xff, 0xfc, 0xfc, 0xff, 0xff, 0xff, 0xff,
0xff, 0xf0, 0xff, 0xff, 0x3f, 0xcf, 0xff, 0xf9, 0xfe, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff,
0xfe, 0x3f, 0xc7, 0xff, 0xe3, 0xff, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xfe, 0x7f, 0xe7,
0xff, 0xe0, 0x92, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xfc, 0xff, 0xe7, 0xff, 0xc0, 0x00,
0x0f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xfc, 0xf3, 0xe7, 0xff, 0xe1, 0xfe, 0x1f, 0xff, 0xff,
0xff, 0xff, 0xf0, 0xff, 0xfc, 0xe3, 0xe7, 0xff, 0xf3, 0xfe, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xf0,
0xff, 0xf9, 0xc6, 0x04, 0x92, 0x40, 0x00, 0x12, 0x6f, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xf9, 0xce,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xf0, 0xff, 0xf9, 0xcc, 0x7b, 0x6d, 0xa3,
0xb6, 0x0d, 0x90, 0x0f, 0xff, 0xff, 0xf0, 0xff, 0xf9, 0x8c, 0xff, 0xff, 0xf7, 0xff, 0xbf, 0xff,
0x83, 0xff, 0xff, 0xf0, 0xff, 0xf1, 0x98, 0xff, 0xff, 0xf7, 0xff, 0x7f, 0xff, 0xe0, 0xff, 0xff,
0xf0, 0xff, 0xf1, 0x99, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xff, 0xff, 0xf0, 0xff, 0xf9,
0x98, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x3f, 0xff, 0xf0, 0xff, 0xf3, 0x99, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xfe, 0x3f, 0xff, 0xf0, 0xff, 0xf1, 0x99, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0x1f, 0xff, 0xf0, 0xff, 0xf9, 0x98, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9f,
0xff, 0xf0, 0xff, 0xf9, 0x99, 0xff, 0xff, 0xef, 0xff, 0xff, 0xff, 0xff, 0x8f, 0xff, 0xf0, 0xff,
0xf1, 0xd9, 0xff, 0xff, 0xc7, 0xf9, 0xff, 0xff, 0xff, 0x8f, 0xff, 0xf0, 0xff, 0xf9, 0xcc, 0x00,
0x00, 0x0f, 0xfc, 0x00, 0x3f, 0xff, 0xcf, 0xff, 0xf0, 0xff, 0xf9, 0xcc, 0x00, 0x00, 0x1f, 0xfc,
0x00, 0x01, 0xff, 0xcf, 0xff, 0xf0, 0xff, 0xf9, 0xc1, 0x9f, 0xff, 0x80, 0x00, 0x77, 0xc0, 0xff,
0xcf, 0xff, 0xf0, 0xff, 0xfc, 0xe3, 0x3f, 0xff, 0xc0, 0x01, 0xff, 0xf8, 0x7f, 0xc7, 0xff, 0xf0,
0xff, 0xfc, 0xf7, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x7f, 0xcf, 0xff, 0xf0, 0xff, 0xfc, 0xff,
0x3f, 0xff, 0xfb, 0x67, 0xff, 0xfe, 0x3f, 0xcf, 0xff, 0xf0, 0xff, 0xfe, 0x7e, 0x7f, 0xff, 0xf0,
0x03, 0xff, 0xff, 0x3f, 0xc7, 0xff, 0xf0, 0xff, 0xff, 0x18, 0x7f, 0xff, 0xf9, 0x9f, 0xff, 0xff,
0x3f, 0xc7, 0xff, 0xf0, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0xcf, 0xff,
0xf0, 0xff, 0xff, 0xc3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1f, 0xcf, 0xff, 0xf0, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1f, 0xc7, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0x3f, 0xcf, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0x1f, 0xe7, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1f, 0xcf,
0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9f, 0xcf, 0xff, 0xf0, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1f, 0xe7, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0x1f, 0xcf, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0x9f, 0xe7, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1f,
0xc7, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1f, 0xcf, 0xff, 0xf0,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9f, 0xe7, 0xff, 0xf0, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9f, 0xc7, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0x0c, 0x8f, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x80, 0x07, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb3, 0x7f, 0xff,
0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xf0
};
// 'GoToJail', 100x100px
static const unsigned char epd_bitmap_GoToJail [] PROGMEM = {
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff,
0xfe, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x03, 0xff,
0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff,
0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0x00, 0x02, 0x23, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff,
0xff, 0xff, 0xf0, 0x02, 0x48, 0x83, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0x80,
0x08, 0x21, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0x00, 0x81, 0x84, 0x47,
0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xfc, 0x04, 0x30, 0x12, 0x0f, 0xff, 0xff, 0xff,
0xff, 0xff, 0xf0, 0xff, 0xff, 0xf8, 0x81, 0x06, 0x48, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0,
0xff, 0xff, 0xf9, 0xc0, 0x00, 0x20, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xf9,
0xf8, 0x00, 0x05, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xf9, 0xff, 0xd0, 0x00,
0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xf9, 0xff, 0xff, 0x80, 0x3f, 0xff, 0xff,
0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xf3, 0xff, 0xff, 0xb2, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff,
0xf0, 0xff, 0xff, 0xf3, 0xff, 0xff, 0xf3, 0xc7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff,
0xe7, 0xff, 0xff, 0xe1, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xc7, 0xff, 0xff,
0xfe, 0x27, 0xff, 0xff, 0xff, 0xc7, 0xff, 0xf0, 0xff, 0xff, 0xcf, 0xff, 0xef, 0xff, 0x8f, 0xff,
0xff, 0xff, 0x83, 0xff, 0xf0, 0xff, 0xff, 0x9f, 0xff, 0xfb, 0xfe, 0x9f, 0xff, 0xff, 0xff, 0x1b,
0xff, 0xf0, 0xff, 0xff, 0x9f, 0xe3, 0xd3, 0xfe, 0x9f, 0xff, 0xff, 0xff, 0x33, 0xff, 0xf0, 0xff,
0xff, 0x9f, 0xd9, 0xf7, 0xf8, 0x9f, 0xff, 0xff, 0xfe, 0x73, 0xff, 0xf0, 0xff, 0xff, 0xbf, 0xbf,
0xf7, 0xf8, 0xcf, 0xff, 0xff, 0xfc, 0xf3, 0xff, 0xf0, 0xff, 0xff, 0x9f, 0x27, 0xff, 0xfc, 0xc3,
0xff, 0xff, 0xf1, 0xe7, 0xff, 0xf0, 0xff, 0xff, 0x9f, 0x33, 0xff, 0xcc, 0xe0, 0xff, 0xff, 0xf3,
0xe7, 0xff, 0xf0, 0xff, 0xff, 0xbf, 0x39, 0xff, 0xe0, 0xfc, 0xff, 0xff, 0xc7, 0xcf, 0xff, 0xf0,
0xff, 0xff, 0x9f, 0xb1, 0xff, 0xf9, 0xfe, 0xff, 0xff, 0x8f, 0x8f, 0xff, 0xf0, 0xff, 0xff, 0x9f,
0xb3, 0xff, 0xfc, 0xfc, 0xff, 0xff, 0x1f, 0x3f, 0xff, 0xf0, 0xff, 0xff, 0xcf, 0xbb, 0xff, 0xfe,
0xfc, 0xff, 0xfe, 0x3e, 0x3f, 0xff, 0xf0, 0xff, 0xff, 0xc7, 0xbf, 0xff, 0xff, 0xe0, 0xff, 0xfc,
0x78, 0x3f, 0xff, 0xf0, 0xff, 0xff, 0xe1, 0x9f, 0xff, 0xff, 0xc1, 0xff, 0xf1, 0xf0, 0x1f, 0xff,
0xf0, 0xff, 0xff, 0xf9, 0xdf, 0xff, 0xff, 0x9f, 0xff, 0xf3, 0xe7, 0xcf, 0xff, 0xf0, 0xff, 0xff,
0xf9, 0xce, 0xff, 0xfc, 0x9f, 0xff, 0xc7, 0xff, 0xcf, 0xff, 0xf0, 0xff, 0xff, 0xf9, 0xe0, 0xff,
0xfc, 0x3f, 0xff, 0x8f, 0xfd, 0xcf, 0xff, 0xf0, 0xff, 0xff, 0xf9, 0xe1, 0xff, 0xfe, 0x3f, 0xff,
0x1f, 0xf0, 0x0f, 0xff, 0xf0, 0xff, 0xff, 0xf9, 0xef, 0xff, 0xfe, 0xff, 0xff, 0x3f, 0xe7, 0xcf,
0xff, 0xf0, 0xff, 0xff, 0xf0, 0xef, 0xff, 0xfe, 0x7f, 0xfe, 0x7f, 0xff, 0xe7, 0xff, 0xf0, 0xff,
0xff, 0xe0, 0xef, 0xff, 0xfc, 0x18, 0xfe, 0x7f, 0xff, 0xef, 0xff, 0xf0, 0xff, 0xff, 0xc2, 0x67,
0xff, 0xfc, 0x00, 0x7c, 0x7f, 0xfc, 0x8f, 0xff, 0xf0, 0xff, 0xff, 0xc0, 0x33, 0xff, 0xf8, 0x06,
0x7c, 0xff, 0xf8, 0x0f, 0xff, 0xf0, 0xff, 0xff, 0xe4, 0x38, 0x7f, 0xe0, 0xdf, 0x7c, 0xff, 0xfe,
0x1f, 0xff, 0xf0, 0xff, 0xff, 0xc1, 0x0c, 0x7f, 0x86, 0x5f, 0x79, 0xff, 0xff, 0xcf, 0xff, 0xf0,
0xff, 0xff, 0xc2, 0x0f, 0x3e, 0x1e, 0x4e, 0x79, 0xff, 0xff, 0xcf, 0xff, 0xf0, 0xff, 0xff, 0xe2,
0x47, 0x3e, 0x7f, 0x60, 0x79, 0xff, 0xbf, 0xdf, 0xff, 0xf0, 0xff, 0xff, 0xc0, 0x43, 0x8c, 0x7f,
0x61, 0xc3, 0xff, 0x9d, 0xcf, 0xff, 0xf0, 0xff, 0xff, 0xe4, 0x91, 0xe0, 0x1e, 0x7f, 0x83, 0xff,
0x81, 0xcf, 0xff, 0xf0, 0xff, 0xff, 0xe0, 0x00, 0xf8, 0x00, 0xff, 0x11, 0xff, 0x98, 0xdf, 0xff,
0xf0, 0xff, 0xff, 0xc2, 0x48, 0x78, 0x01, 0xf8, 0x39, 0xff, 0x3c, 0xcf, 0xff, 0xf0, 0xff, 0xff,
0x80, 0x44, 0x3c, 0x0f, 0xe0, 0x7c, 0xff, 0x3e, 0x5f, 0xff, 0xf0, 0xff, 0xff, 0x00, 0x21, 0x0c,
0x0f, 0xc0, 0x7e, 0x7e, 0x7e, 0x1f, 0xff, 0xf0, 0xff, 0xfe, 0x10, 0x88, 0x04, 0x47, 0x84, 0x3e,
0x7e, 0x7f, 0x3f, 0xff, 0xf0, 0xff, 0xfe, 0x04, 0x12, 0x40, 0x43, 0x01, 0x3f, 0x38, 0xff, 0xff,
0xff, 0xf0, 0xff, 0xfe, 0x20, 0x01, 0x10, 0x10, 0x18, 0x1f, 0x81, 0xff, 0xff, 0xff, 0xf0, 0xff,
0xfc, 0x18, 0x24, 0x20, 0x00, 0x02, 0x4f, 0x87, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xfc, 0x43, 0x04,
0x88, 0x20, 0x61, 0x0f, 0xcf, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xfc, 0x00, 0x00, 0x83, 0x01, 0x08,
0x27, 0x9f, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xf8, 0x98, 0x82, 0x24, 0x44, 0x06, 0x03, 0x1f, 0xff,
0xff, 0xff, 0xf0, 0xff, 0xf8, 0x22, 0x20, 0x20, 0x01, 0x90, 0xc3, 0x3f, 0xff, 0xff, 0xff, 0xf0,
0xff, 0xf8, 0x41, 0x01, 0x89, 0x08, 0x20, 0x10, 0x7f, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xf9, 0x14,
0x40, 0x08, 0x22, 0x09, 0x10, 0x7f, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xf8, 0x00, 0x90, 0x40, 0x08,
0xc4, 0x44, 0x7f, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xf8, 0xca, 0x00, 0x20, 0xc2, 0x10, 0x84, 0x3f,
0xff, 0xff, 0xff, 0xf0, 0xff, 0xf8, 0x10, 0x64, 0x02, 0x10, 0x02, 0x21, 0x3f, 0xff, 0xff, 0xff,
0xf0, 0xff, 0xf9, 0x05, 0x04, 0x00, 0x0c, 0xc8, 0x10, 0x3f, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xf8,
0x60, 0x11, 0x05, 0x20, 0x11, 0x84, 0x7f, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xf8, 0x08, 0xc1, 0x21,
0x03, 0x04, 0x20, 0x7f, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xf8, 0x84, 0x0c, 0x22, 0x48, 0x60, 0x49,
0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xf8, 0x31, 0x20, 0x88, 0x20, 0x0a, 0x41, 0xff, 0xff, 0xff,
0xff, 0xf0, 0xff, 0xf9, 0x02, 0x02, 0x09, 0x0d, 0x08, 0x03, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff,
0xf8, 0x48, 0x98, 0x60, 0xc0, 0xc1, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xf8, 0x00, 0x81,
0x06, 0x12, 0x10, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xf8, 0x20, 0x00, 0x00, 0x00, 0x00,
0x1f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xf8, 0x02, 0x02, 0x00, 0x00, 0x02, 0x7f, 0xff, 0xff,
0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xf0
};
// 'ElectricCompany', 100x100px
static const unsigned char epd_bitmap_ElectricCompany [] PROGMEM = {
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0x83, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x1f,
0xff, 0xf1, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, 0x07, 0xff, 0xe1, 0xff,
0xff, 0xf0, 0xff, 0xff, 0xff, 0x3f, 0xfe, 0x07, 0xff, 0x03, 0xff, 0x83, 0xff, 0xff, 0xf0, 0xff,
0xff, 0xff, 0x0f, 0xfc, 0x1f, 0xff, 0xe1, 0xff, 0x0f, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0x03,
0xf8, 0x7f, 0xff, 0xf8, 0xfe, 0x1f, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xc3, 0xf0, 0xff, 0xff,
0xf8, 0x7e, 0x3f, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xf7, 0xe1, 0xff, 0xff, 0xfc, 0x3f, 0xff,
0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xc3, 0xff, 0xff, 0x3e, 0x3f, 0xff, 0xff, 0xff, 0xf0,
0xff, 0xff, 0xff, 0xff, 0xc7, 0xff, 0xfe, 0x1f, 0x3f, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff,
0xff, 0x87, 0xf1, 0xfc, 0x1f, 0x9f, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0x87, 0xe1,
0xfc, 0x0f, 0x9f, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0x0f, 0xe4, 0xf8, 0xcf, 0x9f,
0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0x0f, 0xcc, 0xf9, 0x9f, 0x9f, 0xff, 0xff, 0xff,
0xf0, 0xff, 0xff, 0xfb, 0xff, 0x1f, 0xcc, 0xf3, 0x8f, 0x8f, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff,
0xf0, 0x7f, 0x1f, 0xee, 0xf3, 0x9f, 0x0f, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xf0, 0x1f, 0x3f,
0xcc, 0xe3, 0x9f, 0x9f, 0xfe, 0x7f, 0xff, 0xf0, 0xff, 0xff, 0xfe, 0x1f, 0x1f, 0xce, 0x67, 0x1f,
0x8f, 0xe0, 0x7f, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0x1f, 0xce, 0x67, 0x1f, 0x9f, 0x80, 0x7f,
0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0x3f, 0xec, 0xcf, 0x3f, 0x1f, 0x83, 0xff, 0xff, 0xf0, 0xff,
0xff, 0xff, 0xff, 0x9f, 0xce, 0x4e, 0x3f, 0x9f, 0x9f, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff,
0x9f, 0xe6, 0x1e, 0x3f, 0x1f, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0x8f, 0xe6, 0x1e,
0x7f, 0x1f, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xcf, 0xc6, 0x3c, 0x7f, 0x1f, 0xff,
0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xc7, 0xe6, 0x3c, 0x7e, 0x3f, 0xff, 0xff, 0xff, 0xf0,
0xff, 0xff, 0xff, 0xff, 0xc7, 0xe2, 0x38, 0xfe, 0x3f, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff,
0xff, 0xe7, 0xe2, 0x78, 0xfe, 0x3f, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xe3, 0xf3,
0x31, 0xfc, 0x7f, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xfe, 0x1f, 0xf3, 0xf3, 0x31, 0xfc, 0x7f,
0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xf0, 0x1f, 0xf1, 0xf1, 0x33, 0xfc, 0x7f, 0x9f, 0xff, 0xff,
0xf0, 0xff, 0xff, 0xf0, 0x3f, 0xf1, 0xf9, 0x83, 0xfc, 0x7f, 0x00, 0x7f, 0xff, 0xf0, 0xff, 0xff,
0xfb, 0xff, 0xf9, 0xf9, 0x87, 0xfc, 0x7f, 0x80, 0x3f, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xf8,
0xf8, 0x87, 0xfc, 0xff, 0xf8, 0x7f, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xfc, 0x0f, 0xf8,
0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xfe, 0x0f, 0xf8, 0xff, 0xff, 0xff,
0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xfe, 0x0f, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff,
0xff, 0xff, 0xff, 0xf8, 0xfe, 0x27, 0xd8, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff,
0xf8, 0xfe, 0x63, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x7e, 0x63,
0xf0, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xfd, 0xfc, 0x7e, 0x63, 0xf1, 0xff, 0xff,
0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xf8, 0xfe, 0x7e, 0x77, 0xe1, 0xff, 0xff, 0xff, 0xff, 0xf0,
0xff, 0xff, 0xff, 0xe0, 0xfe, 0x3e, 0x67, 0xe3, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff,
0xc3, 0xff, 0x1e, 0x67, 0xf3, 0xfe, 0x7f, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0x07, 0xff, 0x1e,
0x73, 0xe3, 0xfe, 0x1f, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xfe, 0x1f, 0xff, 0x1e, 0x67, 0xe3, 0xff,
0x07, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xfc, 0x3f, 0xff, 0x9e, 0x67, 0xe7, 0xff, 0x81, 0xff, 0xff,
0xf0, 0xff, 0xff, 0xfc, 0x7f, 0xff, 0x8e, 0x73, 0xc7, 0xff, 0xe0, 0xff, 0xff, 0xf0, 0xff, 0xff,
0xff, 0xff, 0xff, 0x8e, 0x73, 0xc7, 0xff, 0xf9, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xcf,
0x8e, 0x73, 0xc7, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0x8f, 0x8e, 0x73, 0xcf,
0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x86, 0x73, 0x8f, 0xff, 0xff, 0xff,
0xff, 0xf0, 0xff, 0xff, 0xff, 0xfe, 0x1f, 0xc6, 0x73, 0x9f, 0xe7, 0xff, 0xff, 0xff, 0xf0, 0xff,
0xff, 0xff, 0xfc, 0x3f, 0xc0, 0x73, 0x1f, 0xc3, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xf8,
0x7f, 0xc0, 0x00, 0x1f, 0xe1, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xc0, 0x00,
0x3f, 0xf0, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xf9, 0xff, 0xc0, 0x07, 0xdf, 0xf8, 0x7f,
0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x0f, 0xfc, 0x7f, 0xff, 0xff, 0xf0,
0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x7f, 0xfe, 0x3f, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff,
0xff, 0xff, 0xc0, 0x0f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd8,
0x30, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x7f, 0xff,
0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x1f, 0x9f, 0xff, 0xff, 0xff, 0xff,
0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0x8c, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff,
0xff, 0xff, 0xff, 0xf0, 0x01, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff,
0xc0, 0x2f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xec, 0x00, 0x0f,
0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x0f, 0xff, 0xff, 0xff,
0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x7e, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff,
0xff, 0xff, 0xff, 0xff, 0xf0, 0x70, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff,
0xff, 0xf8, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x83,
0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x87, 0xff, 0xff, 0xff,
0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xf0
};
// Array of all bitmaps for convenience. (Total bytes used to store images in PROGMEM = 7968)
static const int epd_bitmap_allArray_LEN = 6;
static const unsigned char* epd_bitmap_allArray[6] = {
epd_bitmap_Chance,
epd_bitmap_CommunityChest,
epd_bitmap_ElectricCompany,
epd_bitmap_FreeParking,
epd_bitmap_GoToJail,
epd_bitmap_WaterWorks
};