diff --git a/CHANGELOG.md b/CHANGELOG.md index c784de28..2d5345b4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,6 +18,37 @@ versions. - Meshtastic encryption (AES/PSK) and broader protocol compatibility / Meshtastic 加密(AES/PSK)与更完整协议兼容 - Real LoRa field tests, performance, and power tuning / 实机 LoRa 测试、性能与功耗调优 +## [0.1.4-alpha] - 2026-02-02 +### Added / 新增 +- T-Deck board support and new build env / T-Deck 板级支持与新构建环境 +- GPS tracker/track recorder with Tracker screen and assets / GPS 轨迹记录与 Tracker 页面及资源 +- Team NFC support, team chat protocol, and team UI store / Team NFC 支持、团队聊天协议与 Team UI 存储 +- Toast widget and LVGL lifetime notes / Toast 组件与 LVGL 生命周期说明 + +### Changed / 变更 +- UI lifecycle refactor with compose flow / UI 生命周期重构与 compose 流程 +- GPS page layout/styles and map overlay refactor / GPS 页面布局/样式与地图覆盖层重构 +- UI controller and app screen wiring adjustments / UI 控制器与页面接线调整 + +### Fixed / 修复 +- Meshtastic node id handling error / Meshtastic 节点 ID 处理错误 +- UI glitches across chat/contacts/gps/team / Chat/Contacts/GPS/Team 页面 UI 问题修复 + +## [0.1.3-alpha] - 2026-01-23 +### Added / 新增 +- Team management stack (domain/protocol/service) and Team screen / Team 管理模块(领域/协议/服务)与 Team 页面 +- Team docs/assets / Team 文档与资源 +- Send-status UI and message preview truncation / 发送状态 UI 与消息预览截断 + +### Changed / 变更 +- Mesh persistence and PKI handling (node store/backoff) / Mesh 持久化与 PKI 处理(节点存储/退避) +- Chat storage improvements across RAM/Flash/log stores / 聊天存储改进(RAM/Flash/日志) +- Diagnostics and timestamp utilities / 诊断信息与时间戳工具改进 + +### Fixed / 修复 +- Messaging reliability across reboots / 重启后消息可靠性 +- UI timezone offset application / UI 时区偏移应用 + ## [0.1.2-alpha] - 2026-01-21 ### Added / 新增 - Meshtastic routing ACK decoding with reason mapping, ack timeouts, and richer RX/TX diagnostics / Meshtastic 路由 ACK 解码,增加原因映射、ACK 超时和更详细的收发日志 diff --git a/src/app/app_context.cpp b/src/app/app_context.cpp index 3142195a..2a789d74 100644 --- a/src/app/app_context.cpp +++ b/src/app/app_context.cpp @@ -7,10 +7,10 @@ #include "../chat/infra/protocol_factory.h" #include "../gps/usecase/gps_service.h" #include "../sys/event_bus.h" +#include "../team/protocol/team_chat.h" +#include "../ui/ui_common.h" #include "../ui/ui_team.h" #include "../ui/widgets/system_notification.h" -#include "../ui/ui_common.h" -#include "../team/protocol/team_chat.h" #ifdef USING_ST25R3916 #include "../team/infra/nfc/team_nfc.h" #endif @@ -21,7 +21,7 @@ namespace app { bool AppContext::init(BoardBase& board, LoraBoard* lora_board, GpsBoard* gps_board, MotionBoard* motion_board, - bool use_mock_adapter, uint32_t disable_hw_init) + bool use_mock_adapter, uint32_t disable_hw_init) { // Store board reference for hardware access board_ = &board; diff --git a/src/app/app_context.h b/src/app/app_context.h index 6e60c80a..f70d698f 100644 --- a/src/app/app_context.h +++ b/src/app/app_context.h @@ -17,15 +17,15 @@ namespace app { class AppContext; } +#include "../board/BoardBase.h" +#include "../board/GpsBoard.h" +#include "../board/LoraBoard.h" +#include "../board/MotionBoard.h" #include "../chat/infra/contact_store.h" #include "../chat/infra/meshtastic/node_store.h" #include "../chat/infra/store/flash_store.h" #include "../chat/infra/store/log_store.h" #include "../chat/infra/store/ram_store.h" -#include "../board/BoardBase.h" -#include "../board/LoraBoard.h" -#include "../board/GpsBoard.h" -#include "../board/MotionBoard.h" #include "../chat/ports/i_chat_store.h" #include "../chat/ports/i_contact_store.h" #include "../chat/ports/i_mesh_adapter.h" diff --git a/src/board/GpsBoard.h b/src/board/GpsBoard.h index baf0c10d..727f5ded 100644 --- a/src/board/GpsBoard.h +++ b/src/board/GpsBoard.h @@ -16,4 +16,3 @@ class GpsBoard virtual void powerControl(PowerCtrlChannel_t ch, bool enable) = 0; virtual bool syncTimeFromGPS(uint32_t gps_task_interval_ms = 0) = 0; }; - diff --git a/src/board/LoraBoard.h b/src/board/LoraBoard.h index 4cb73403..7230a6ca 100644 --- a/src/board/LoraBoard.h +++ b/src/board/LoraBoard.h @@ -1,8 +1,7 @@ #pragma once -#include #include - +#include // LoRa ӿڣṩ RadioLib ķʡ class LoraBoard @@ -12,7 +11,6 @@ class LoraBoard virtual bool isRadioOnline() const = 0; - virtual int transmitRadio(const uint8_t* data, size_t len) = 0; virtual int startRadioReceive() = 0; virtual uint32_t getRadioIrqFlags() = 0; diff --git a/src/board/MotionBoard.h b/src/board/MotionBoard.h index 2797f554..79b19970 100644 --- a/src/board/MotionBoard.h +++ b/src/board/MotionBoard.h @@ -11,4 +11,3 @@ class MotionBoard virtual SensorBHI260AP& getMotionSensor() = 0; virtual bool isSensorReady() const = 0; }; - diff --git a/src/board/SdBoard.h b/src/board/SdBoard.h index 255f5286..44706cf5 100644 --- a/src/board/SdBoard.h +++ b/src/board/SdBoard.h @@ -9,4 +9,3 @@ class SdBoard virtual void uninstallSD() = 0; virtual bool isCardReady() = 0; }; - diff --git a/src/board/TDeckBoard.cpp b/src/board/TDeckBoard.cpp index 34f11fb8..ba8b8ada 100644 --- a/src/board/TDeckBoard.cpp +++ b/src/board/TDeckBoard.cpp @@ -442,9 +442,9 @@ RotaryMsg_t TDeckBoard::getRotary() return msg; } - const uint32_t repeat_ms = 70; // Even more responsive trackball repeat - const uint32_t click_ms = 110; // Click debounce - const uint8_t stable_polls = 2; // Increase sensitivity on T-Deck trackball + const uint32_t repeat_ms = 70; // Even more responsive trackball repeat + const uint32_t click_ms = 110; // Click debounce + const uint8_t stable_polls = 2; // Increase sensitivity on T-Deck trackball #if defined(TRACKBALL_RIGHT) && defined(TRACKBALL_LEFT) const bool right_pressed = digitalRead(TRACKBALL_RIGHT) == LOW; diff --git a/src/board/TLoRaPagerBoard.cpp b/src/board/TLoRaPagerBoard.cpp index c2464510..58901738 100644 --- a/src/board/TLoRaPagerBoard.cpp +++ b/src/board/TLoRaPagerBoard.cpp @@ -7,9 +7,9 @@ #include "freertos/task.h" #include "freertos/timers.h" +#include #include #include -#include #include "display/drivers/ST7796.h" #include "pins_arduino.h" @@ -454,8 +454,7 @@ uint32_t TLoRaPagerBoard::begin(uint32_t disable_hw_init) Serial.printf("[TLoRaPagerBoard::begin] ===== HARDWARE INITIALIZATION COMPLETE =====\n"); Serial.printf("[TLoRaPagerBoard::begin] devices_probe=0x%08X\n", devices_probe); const char* gps_state = - (devices_probe & HW_GPS_ONLINE) ? "YES" : - ((disable_hw_init & NO_HW_GPS) ? "SKIPPED" : "DEFERRED"); + (devices_probe & HW_GPS_ONLINE) ? "YES" : ((disable_hw_init & NO_HW_GPS) ? "SKIPPED" : "DEFERRED"); Serial.printf("[TLoRaPagerBoard::begin] GPS online: %s\n", gps_state); Serial.printf("[TLoRaPagerBoard::begin] NFC online: %s (HW_NFC_ONLINE=0x%08X)\n", (devices_probe & HW_NFC_ONLINE) ? "YES" : "NO", HW_NFC_ONLINE); @@ -921,7 +920,7 @@ bool TLoRaPagerBoard::startNFCDiscovery(uint16_t techs2Find, uint16_t totalDurat if (techs2Find & RFAL_NFC_LISTEN_TECH_A) { static bool nfcid_init = false; - static uint8_t nfcid[RFAL_NFCID1_TRIPLE_LEN] = { 0 }; + static uint8_t nfcid[RFAL_NFCID1_TRIPLE_LEN] = {0}; if (!nfcid_init) { nfcid[0] = static_cast(random(1, 255)); @@ -1966,7 +1965,7 @@ void TLoRaPagerBoard::softwareShutdown() return; } -log_i("Shutdown conditions met - entering Power OFF mode (26µA)"); + log_i("Shutdown conditions met - entering Power OFF mode (26µA)"); shutdown(true); } diff --git a/src/board/TLoRaPagerBoard.h b/src/board/TLoRaPagerBoard.h index bf8ed894..f8b5fe64 100644 --- a/src/board/TLoRaPagerBoard.h +++ b/src/board/TLoRaPagerBoard.h @@ -428,7 +428,7 @@ class TLoRaPagerBoard : public BoardBase, // Two-stage power-off implementation bool isUsbPresent_bestEffort(); - uint32_t devices_probe = 0; ///< Hardware detection status bitmask + uint32_t devices_probe = 0; ///< Hardware detection status bitmask uint8_t _haptic_effects = 15; ///< Default haptic effect (strong buzz for message notification) }; diff --git a/src/board/nfc_include.h b/src/board/nfc_include.h index 7987e5f2..9df67de7 100644 --- a/src/board/nfc_include.h +++ b/src/board/nfc_include.h @@ -21,7 +21,6 @@ #include #include #include -#include #include #include #include @@ -29,6 +28,7 @@ #include #include #include +#include #ifdef rfalRunBlocking #undef rfalRunBlocking #endif diff --git a/src/chat/infra/meshtastic/mt_adapter.cpp b/src/chat/infra/meshtastic/mt_adapter.cpp index e93d5240..0655ae29 100644 --- a/src/chat/infra/meshtastic/mt_adapter.cpp +++ b/src/chat/infra/meshtastic/mt_adapter.cpp @@ -5,22 +5,22 @@ #include "mt_adapter.h" #include "../../../sys/event_bus.h" +#include "../../../team/protocol/team_portnum.h" #include "../../domain/contact_types.h" #include "../../ports/i_node_store.h" -#include "../../../team/protocol/team_portnum.h" #include #include -#include -#include #include #include +#include +#include #include #include #define TEST_CURVE25519_FIELD_OPS #include "../../../board/TLoRaPagerTypes.h" #include "generated/meshtastic/config.pb.h" -#include "node_persist.h" #include "mt_region.h" +#include "node_persist.h" #include #include #include @@ -52,13 +52,13 @@ constexpr const char* kSecondaryChannelName = "Squad"; constexpr uint8_t kLoraSyncWord = 0x2b; constexpr uint16_t kLoraPreambleLen = 16; constexpr uint8_t kBitfieldWantResponseMask = 0x02; -using chat::meshtastic::PersistedNodeEntry; using chat::meshtastic::kPersistMaxNodes; using chat::meshtastic::kPersistNodesKey; using chat::meshtastic::kPersistNodesKeyCrc; using chat::meshtastic::kPersistNodesKeyVer; using chat::meshtastic::kPersistNodesNs; using chat::meshtastic::kPersistVersion; +using chat::meshtastic::PersistedNodeEntry; bool allowPkiForPortnum(uint32_t portnum) { @@ -610,11 +610,11 @@ static void initPkiNonce(uint32_t from, uint64_t packet_id, uint32_t extra_nonce // Use protobuf codec and wire packet functions using chat::meshtastic::buildWirePacket; -using chat::meshtastic::decodeTextMessage; using chat::meshtastic::decodeKeyVerificationMessage; +using chat::meshtastic::decodeTextMessage; using chat::meshtastic::decryptPayload; -using chat::meshtastic::encodeNodeInfoMessage; using chat::meshtastic::encodeAppData; +using chat::meshtastic::encodeNodeInfoMessage; using chat::meshtastic::encodeTextMessage; using chat::meshtastic::PacketHeaderWire; using chat::meshtastic::parseWirePacket; @@ -636,19 +636,19 @@ MtAdapter::MtAdapter(LoraBoard& board) primary_psk_len_(0), secondary_channel_hash_(0), secondary_psk_{0}, - secondary_psk_len_(0), - pki_ready_(false), - pki_public_key_{}, - pki_private_key_{}, - kv_state_(KeyVerificationState::Idle), - kv_nonce_(0), - kv_nonce_ms_(0), - kv_security_number_(0), - kv_remote_node_(0), - kv_hash1_{}, - kv_hash2_{}, - last_raw_packet_len_(0), - has_pending_raw_packet_(false) + secondary_psk_len_(0), + pki_ready_(false), + pki_public_key_{}, + pki_private_key_{}, + kv_state_(KeyVerificationState::Idle), + kv_nonce_(0), + kv_nonce_ms_(0), + kv_security_number_(0), + kv_remote_node_(0), + kv_hash1_{}, + kv_hash2_{}, + last_raw_packet_len_(0), + has_pending_raw_packet_(false) { config_ = MeshConfig(); // Default config initNodeIdentity(); @@ -904,11 +904,16 @@ void MtAdapter::processReceivedPacket(const uint8_t* data, size_t size) header.flags, (unsigned)payload_size); const char* channel_kind = "UNKNOWN"; - if (header.channel == 0) { + if (header.channel == 0) + { channel_kind = "PKI"; - } else if (header.channel == primary_channel_hash_) { + } + else if (header.channel == primary_channel_hash_) + { channel_kind = "PRIMARY"; - } else if (header.channel == secondary_channel_hash_) { + } + else if (header.channel == secondary_channel_hash_) + { channel_kind = "SECONDARY"; } LORA_LOG("[LORA] RX channel kind=%s hash=0x%02X\n", channel_kind, header.channel); @@ -1090,10 +1095,13 @@ void MtAdapter::processReceivedPacket(const uint8_t* data, size_t size) auto it = nodeinfo_last_seen_ms_.find(node_id); bool allow_reply = true; // 直连 NodeInfo 总是允许回复(不受时间抑制) - if (header.to == 0xFFFFFFFF) { // 只有广播 NodeInfo 才检查时间抑制 - if (it != nodeinfo_last_seen_ms_.end()) { + if (header.to == 0xFFFFFFFF) + { // 只有广播 NodeInfo 才检查时间抑制 + if (it != nodeinfo_last_seen_ms_.end()) + { uint32_t since = now_ms - it->second; - if (since < NODEINFO_REPLY_SUPPRESS_MS) { + if (since < NODEINFO_REPLY_SUPPRESS_MS) + { allow_reply = false; } } @@ -1730,7 +1738,7 @@ void MtAdapter::configureRadio() #if defined(ARDUINO_LILYGO_LORA_SX1262) || defined(ARDUINO_LILYGO_LORA_SX1280) board_.configureLoraRadio(freq_mhz, bw_khz, sf, cr_denom, config_.tx_power, - kLoraPreambleLen, kLoraSyncWord, 2); + kLoraPreambleLen, kLoraSyncWord, 2); #endif ready_ = true; @@ -1776,13 +1784,12 @@ void MtAdapter::initNodeIdentity() // 你的原逻辑:取 MAC 的后 4 字节作为 node_id node_id_ = (static_cast(mac_addr_[2]) << 24) | (static_cast(mac_addr_[3]) << 16) | - (static_cast(mac_addr_[4]) << 8) | - (static_cast(mac_addr_[5]) << 0); + (static_cast(mac_addr_[4]) << 8) | + (static_cast(mac_addr_[5]) << 0); LORA_LOG("[LORA] node_id=0x%08X\n", static_cast(node_id_)); } - void MtAdapter::updateChannelKeys() { if (isZeroKey(config_.primary_key, sizeof(config_.primary_key))) @@ -1904,11 +1911,13 @@ bool MtAdapter::initPkiKeys() void MtAdapter::loadPkiNodeKeys() { - struct PkiKeyEntry { + struct PkiKeyEntry + { uint32_t node_id; uint8_t key[32]; }; - struct PkiKeyEntryV2 { + struct PkiKeyEntryV2 + { uint32_t node_id; uint32_t last_seen; uint8_t key[32]; @@ -1917,7 +1926,8 @@ void MtAdapter::loadPkiNodeKeys() std::vector entries_v2; size_t actual = 0; bool needs_migrate = false; - auto loadFromNs = [&](const char* ns) -> bool { + auto loadFromNs = [&](const char* ns) -> bool + { Preferences prefs; if (!prefs.begin(ns, true)) { @@ -2041,7 +2051,8 @@ void MtAdapter::loadPkiNodeKeys() void MtAdapter::savePkiNodeKey(uint32_t node_id, const uint8_t* key, size_t key_len) { - if (node_id == 0 || !key || key_len != 32) { + if (node_id == 0 || !key || key_len != 32) + { return; } std::array key_copy{}; @@ -2053,7 +2064,8 @@ void MtAdapter::savePkiNodeKey(uint32_t node_id, const uint8_t* key, size_t key_ void MtAdapter::savePkiKeysToPrefs() { - struct PkiKeyEntryV2 { + struct PkiKeyEntryV2 + { uint32_t node_id; uint32_t last_seen; uint8_t key[32]; @@ -2073,7 +2085,8 @@ void MtAdapter::savePkiKeysToPrefs() if (entries.size() > kMaxPkiNodes) { std::sort(entries.begin(), entries.end(), - [](const PkiKeyEntryV2& a, const PkiKeyEntryV2& b) { + [](const PkiKeyEntryV2& a, const PkiKeyEntryV2& b) + { return a.last_seen < b.last_seen; }); size_t drop = entries.size() - kMaxPkiNodes; @@ -2175,8 +2188,8 @@ bool MtAdapter::decryptPkiPayload(uint32_t from, uint32_t packet_id, } bool MtAdapter::encryptPkiPayload(uint32_t dest, uint32_t packet_id, - const uint8_t* plain, size_t plain_len, - uint8_t* out_cipher, size_t* out_cipher_len) + const uint8_t* plain, size_t plain_len, + uint8_t* out_cipher, size_t* out_cipher_len) { if (!plain || !out_cipher || !out_cipher_len) return false; if (!pki_ready_) return false; diff --git a/src/chat/infra/protocol_factory.cpp b/src/chat/infra/protocol_factory.cpp index 5e8d2c1f..551e431b 100644 --- a/src/chat/infra/protocol_factory.cpp +++ b/src/chat/infra/protocol_factory.cpp @@ -5,19 +5,22 @@ #include "protocol_factory.h" #include "../../board/LoraBoard.h" -#include "meshtastic/mt_adapter.h" #include "meshcore/meshcore_adapter.h" +#include "meshtastic/mt_adapter.h" -namespace chat { +namespace chat +{ std::unique_ptr ProtocolFactory::createAdapter(MeshProtocol protocol, - LoraBoard& board) { - switch (protocol) { - case MeshProtocol::MeshCore: - return std::unique_ptr(new chat::meshcore::MeshCoreAdapter(board)); - case MeshProtocol::Meshtastic: - default: - return std::unique_ptr(new chat::meshtastic::MtAdapter(board)); + LoraBoard& board) +{ + switch (protocol) + { + case MeshProtocol::MeshCore: + return std::unique_ptr(new chat::meshcore::MeshCoreAdapter(board)); + case MeshProtocol::Meshtastic: + default: + return std::unique_ptr(new chat::meshtastic::MtAdapter(board)); } } diff --git a/src/chat/infra/protocol_factory.h b/src/chat/infra/protocol_factory.h index bc2fab5b..a32a781a 100644 --- a/src/chat/infra/protocol_factory.h +++ b/src/chat/infra/protocol_factory.h @@ -5,18 +5,20 @@ #pragma once +#include "../../board/LoraBoard.h" #include "../domain/chat_types.h" #include "../ports/i_mesh_adapter.h" -#include "../../board/LoraBoard.h" #include -namespace chat { +namespace chat +{ /** * @brief Factory class for creating mesh adapters based on protocol selection */ -class ProtocolFactory { -public: +class ProtocolFactory +{ + public: ProtocolFactory() = delete; ~ProtocolFactory() = delete; diff --git a/src/chat/infra/store/flash_store.cpp b/src/chat/infra/store/flash_store.cpp index 2570f449..1ebd6ccf 100644 --- a/src/chat/infra/store/flash_store.cpp +++ b/src/chat/infra/store/flash_store.cpp @@ -177,7 +177,8 @@ std::vector FlashStore::loadConversationPage(size_t offset, list.push_back(meta); } std::sort(list.begin(), list.end(), - [](const ConversationMeta& a, const ConversationMeta& b) { + [](const ConversationMeta& a, const ConversationMeta& b) + { return a.last_timestamp > b.last_timestamp; }); if (total) @@ -248,7 +249,8 @@ bool FlashStore::updateMessageStatus(MessageId msg_id, MessageStatus status) if (rec.msg_id != msg_id) continue; if (rec.from != 0) continue; // only update outgoing messages uint8_t new_status = static_cast(status); - if (rec.status == new_status) { + if (rec.status == new_status) + { return true; } rec.status = new_status; diff --git a/src/chat/infra/store/log_store.cpp b/src/chat/infra/store/log_store.cpp index afa892c1..f434702e 100644 --- a/src/chat/infra/store/log_store.cpp +++ b/src/chat/infra/store/log_store.cpp @@ -181,7 +181,8 @@ std::vector LogStore::loadConversationPage(size_t offset, } std::sort(entries.begin(), entries.end(), - [](const IndexEntry& a, const IndexEntry& b) { + [](const IndexEntry& a, const IndexEntry& b) + { return a.last_timestamp > b.last_timestamp; }); @@ -280,7 +281,8 @@ void LogStore::clearConversation(const ConversationId& conv) } entries.erase(std::remove_if(entries.begin(), entries.end(), - [&](const IndexEntry& entry) { + [&](const IndexEntry& entry) + { return entry.peer == conv.peer && entry.channel == static_cast(conv.channel); }), diff --git a/src/chat/infra/store/ram_store.cpp b/src/chat/infra/store/ram_store.cpp index 6493ce2d..3bc791ae 100644 --- a/src/chat/infra/store/ram_store.cpp +++ b/src/chat/infra/store/ram_store.cpp @@ -50,8 +50,8 @@ std::vector RamStore::loadRecent(const ConversationId& conv, size_t } std::vector RamStore::loadConversationPage(size_t offset, - size_t limit, - size_t* total) + size_t limit, + size_t* total) { std::vector list; list.reserve(conversations_.size()); @@ -89,7 +89,8 @@ std::vector RamStore::loadConversationPage(size_t offset, } std::sort(list.begin(), list.end(), - [](const ConversationMeta& a, const ConversationMeta& b) { + [](const ConversationMeta& a, const ConversationMeta& b) + { return a.last_timestamp > b.last_timestamp; }); if (total) diff --git a/src/chat/time_utils.h b/src/chat/time_utils.h index e09c13d5..0bc300ed 100644 --- a/src/chat/time_utils.h +++ b/src/chat/time_utils.h @@ -9,7 +9,8 @@ #include #include -namespace chat { +namespace chat +{ constexpr uint32_t kMinValidEpochSeconds = 1577836800U; // 2020-01-01 @@ -21,7 +22,8 @@ inline bool is_valid_epoch(uint32_t ts) inline uint32_t now_epoch_seconds() { time_t now = time(nullptr); - if (now < 0) { + if (now < 0) + { return 0; } return static_cast(now); diff --git a/src/chat/usecase/chat_service.cpp b/src/chat/usecase/chat_service.cpp index 692449ae..c5b1c5ba 100644 --- a/src/chat/usecase/chat_service.cpp +++ b/src/chat/usecase/chat_service.cpp @@ -4,8 +4,8 @@ */ #include "chat_service.h" -#include "../time_utils.h" #include "../../sys/event_bus.h" +#include "../time_utils.h" namespace chat { @@ -114,9 +114,12 @@ void ChatService::processIncoming() ChatMessage msg; msg.channel = incoming.channel; msg.from = incoming.from; - if (incoming.to == 0xFFFFFFFF) { + if (incoming.to == 0xFFFFFFFF) + { msg.peer = 0; - } else { + } + else + { msg.peer = incoming.from; } msg.msg_id = incoming.msg_id; diff --git a/src/display/drivers/ST7789TDeck.cpp b/src/display/drivers/ST7789TDeck.cpp index d114c549..2ae8d0d6 100644 --- a/src/display/drivers/ST7789TDeck.cpp +++ b/src/display/drivers/ST7789TDeck.cpp @@ -8,27 +8,25 @@ namespace drivers // Command sequence derived from LilyGo T-Deck TFT_eSPI (INIT_SEQUENCE_2). // The high bit (0x80) in len requests a post-command delay in DisplayInterface. static const CommandTable_t kInit[] = { - {0x11, {0}, 0x80}, // SLPOUT + delay - {0x13, {0}, 0}, // NORON - {0x36, {0x00}, 1}, // MADCTL (RGB order) - {0x3A, {0x55}, 1}, // COLMOD (RGB565) - {0xB2, {0x0C, 0x0C, 0x00, 0x33, 0x33}, 5}, // PORCTRL - {0xB7, {0x75}, 1}, // GCTRL - {0xBB, {0x1A}, 1}, // VCOMS - {0xC0, {0x2C}, 1}, // LCMCTRL - {0xC2, {0x01}, 1}, // VDVVRHEN - {0xC3, {0x13}, 1}, // VRHS - {0xC4, {0x20}, 1}, // VDVSET - {0xC6, {0x0F}, 1}, // FRCTR2 - {0xD0, {0xA4, 0xA1}, 2}, // PWCTRL1 - {0xE0, {0xD0, 0x0D, 0x14, 0x0D, 0x0D, 0x09, 0x38, 0x44, - 0x4E, 0x3A, 0x17, 0x18, 0x2F, 0x30}, 14}, // PVGAMCTRL - {0xE1, {0xD0, 0x09, 0x0F, 0x08, 0x07, 0x14, 0x37, 0x44, - 0x4D, 0x38, 0x15, 0x16, 0x2C, 0x3E}, 14}, // NVGAMCTRL - {0x21, {0}, 0}, // INVON - {0x2A, {0x00, 0x00, 0x00, 0xEF}, 4}, // CASET 0..239 - {0x2B, {0x00, 0x00, 0x01, 0x3F}, 4}, // RASET 0..319 - {0x29, {0}, 0x80}, // DISPON + delay + {0x11, {0}, 0x80}, // SLPOUT + delay + {0x13, {0}, 0}, // NORON + {0x36, {0x00}, 1}, // MADCTL (RGB order) + {0x3A, {0x55}, 1}, // COLMOD (RGB565) + {0xB2, {0x0C, 0x0C, 0x00, 0x33, 0x33}, 5}, // PORCTRL + {0xB7, {0x75}, 1}, // GCTRL + {0xBB, {0x1A}, 1}, // VCOMS + {0xC0, {0x2C}, 1}, // LCMCTRL + {0xC2, {0x01}, 1}, // VDVVRHEN + {0xC3, {0x13}, 1}, // VRHS + {0xC4, {0x20}, 1}, // VDVSET + {0xC6, {0x0F}, 1}, // FRCTR2 + {0xD0, {0xA4, 0xA1}, 2}, // PWCTRL1 + {0xE0, {0xD0, 0x0D, 0x14, 0x0D, 0x0D, 0x09, 0x38, 0x44, 0x4E, 0x3A, 0x17, 0x18, 0x2F, 0x30}, 14}, // PVGAMCTRL + {0xE1, {0xD0, 0x09, 0x0F, 0x08, 0x07, 0x14, 0x37, 0x44, 0x4D, 0x38, 0x15, 0x16, 0x2C, 0x3E}, 14}, // NVGAMCTRL + {0x21, {0}, 0}, // INVON + {0x2A, {0x00, 0x00, 0x00, 0xEF}, 4}, // CASET 0..239 + {0x2B, {0x00, 0x00, 0x01, 0x3F}, 4}, // RASET 0..319 + {0x29, {0}, 0x80}, // DISPON + delay }; const CommandTable_t* ST7789TDeck::getInitCommands() diff --git a/src/display/drivers/ST7789TDeck.h b/src/display/drivers/ST7789TDeck.h index fd081093..bdff8551 100644 --- a/src/display/drivers/ST7789TDeck.h +++ b/src/display/drivers/ST7789TDeck.h @@ -21,4 +21,3 @@ class ST7789TDeck } // namespace drivers } // namespace display - diff --git a/src/gps/usecase/gps_service.cpp b/src/gps/usecase/gps_service.cpp index 353edbf8..4bc2ff80 100644 --- a/src/gps/usecase/gps_service.cpp +++ b/src/gps/usecase/gps_service.cpp @@ -307,16 +307,16 @@ void GpsService::gpsTask(void* pvParameters) service->gps_state_.lng = service->gps_adapter_.longitude(); service->gps_state_.has_alt = service->gps_adapter_.hasAltitude(); service->gps_state_.alt_m = service->gps_state_.has_alt - ? service->gps_adapter_.altitude() - : 0.0; + ? service->gps_adapter_.altitude() + : 0.0; service->gps_state_.has_speed = service->gps_adapter_.hasSpeed(); service->gps_state_.speed_mps = service->gps_state_.has_speed - ? service->gps_adapter_.speed() - : 0.0; + ? service->gps_adapter_.speed() + : 0.0; service->gps_state_.has_course = service->gps_adapter_.hasCourse(); service->gps_state_.course_deg = service->gps_state_.has_course - ? service->gps_adapter_.course() - : 0.0; + ? service->gps_adapter_.course() + : 0.0; service->gps_state_.satellites = sat_count; service->gps_state_.valid = true; service->gps_last_update_time_ = millis(); diff --git a/src/gps/usecase/track_recorder.cpp b/src/gps/usecase/track_recorder.cpp index dcc95428..bb977904 100644 --- a/src/gps/usecase/track_recorder.cpp +++ b/src/gps/usecase/track_recorder.cpp @@ -60,7 +60,9 @@ bool TrackRecorder::ensureDir() const String TrackRecorder::makeTrackPath() const { time_t now = time(nullptr); - struct tm tm_utc{}; + struct tm tm_utc + { + }; char time_buf[32] = {0}; if (now > 0 && gmtime_r(&now, &tm_utc)) { @@ -83,7 +85,9 @@ String TrackRecorder::isoTime(time_t t) { t = time(nullptr); } - struct tm tm_utc{}; + struct tm tm_utc + { + }; char buf[32] = {0}; if (t > 0 && gmtime_r(&t, &tm_utc)) { diff --git a/src/hal/hal_gps.cpp b/src/hal/hal_gps.cpp index f9b3104a..5b212412 100644 --- a/src/hal/hal_gps.cpp +++ b/src/hal/hal_gps.cpp @@ -1,7 +1,7 @@ #include "hal/hal_gps.h" -#include "board/GpsBoard.h" #include "../gps/GPS.h" +#include "board/GpsBoard.h" #include "board/TLoRaPagerTypes.h" #include "pins_arduino.h" diff --git a/src/hal/hal_gps.h b/src/hal/hal_gps.h index 503d271a..906e4235 100644 --- a/src/hal/hal_gps.h +++ b/src/hal/hal_gps.h @@ -1,7 +1,7 @@ #pragma once -#include #include "board/GpsBoard.h" +#include namespace hal { diff --git a/src/hal/hal_motion.h b/src/hal/hal_motion.h index 34b86f15..f6a79da0 100644 --- a/src/hal/hal_motion.h +++ b/src/hal/hal_motion.h @@ -1,9 +1,9 @@ #pragma once +#include "board/MotionBoard.h" #include "bosch/BoschParseCallbackManager.hpp" #include #include -#include "board/MotionBoard.h" namespace hal { diff --git a/src/main.cpp b/src/main.cpp index 2a820b46..70398fd8 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -14,8 +14,8 @@ #include "app/app_context.h" #include "display/DisplayConfig.h" -#include "ui/assets/images.h" #include "ui/app_screen.h" +#include "ui/assets/images.h" #include "ui/ui_common.h" #include "ui/widgets/system_notification.h" @@ -110,8 +110,9 @@ bool format_menu_time(char* out, size_t out_len) } // App function types (like factory example) -class FunctionAppScreen : public AppScreen { -public: +class FunctionAppScreen : public AppScreen +{ + public: FunctionAppScreen(const char* name, const lv_image_dsc_t* icon, void (*enter)(lv_obj_t*), @@ -123,19 +124,21 @@ public: void enter(lv_obj_t* parent) override { - if (enter_) { + if (enter_) + { enter_(parent); } } void exit(lv_obj_t* parent) override { - if (exit_) { + if (exit_) + { exit_(parent); } } -private: + private: const char* name_; const lv_image_dsc_t* icon_; void (*enter_)(lv_obj_t*); diff --git a/src/sys/event_bus.h b/src/sys/event_bus.h index b9310b64..230da346 100644 --- a/src/sys/event_bus.h +++ b/src/sys/event_bus.h @@ -22,30 +22,30 @@ namespace sys */ enum class EventType { - ChatNewMessage, // New message received - ChatSendResult, // Message send result - ChatUnreadChanged, // Unread count changed - ChatChannelSwitched, // Channel switched - NodeInfoUpdate, // Node info updated (from mesh network) - NodeProtocolUpdate, // Node protocol update (from message) + ChatNewMessage, // New message received + ChatSendResult, // Message send result + ChatUnreadChanged, // Unread count changed + ChatChannelSwitched, // Channel switched + NodeInfoUpdate, // Node info updated (from mesh network) + NodeProtocolUpdate, // Node protocol update (from message) KeyVerificationNumberRequest, // PKI key verification number requested KeyVerificationNumberInform, // PKI key verification number provided KeyVerificationFinal, // PKI key verification final confirmation - TeamAdvertise, // Team advertise received - TeamJoinRequest, // Team join request received - TeamJoinAccept, // Team join accept received - TeamJoinConfirm, // Team join confirm received - TeamJoinDecision, // Team join decision received - TeamKick, // Team kick received - TeamTransferLeader, // Team transfer leader received - TeamKeyDist, // Team key distribution received - TeamStatus, // Team status received - TeamPosition, // Team position received - TeamWaypoint, // Team waypoint received - TeamChat, // Team chat received - TeamError, // Team protocol error - InputEvent, // Input event (keyboard/rotary) - SystemTick // System tick (for periodic tasks) + TeamAdvertise, // Team advertise received + TeamJoinRequest, // Team join request received + TeamJoinAccept, // Team join accept received + TeamJoinConfirm, // Team join confirm received + TeamJoinDecision, // Team join decision received + TeamKick, // Team kick received + TeamTransferLeader, // Team transfer leader received + TeamKeyDist, // Team key distribution received + TeamStatus, // Team status received + TeamPosition, // Team position received + TeamWaypoint, // Team waypoint received + TeamChat, // Team chat received + TeamError, // Team protocol error + InputEvent, // Input event (keyboard/rotary) + SystemTick // System tick (for periodic tasks) }; /** diff --git a/src/team/domain/team_events.h b/src/team/domain/team_events.h index 6e19bbb5..9a4fd4f9 100644 --- a/src/team/domain/team_events.h +++ b/src/team/domain/team_events.h @@ -1,8 +1,8 @@ #pragma once -#include "team_types.h" #include "../protocol/team_chat.h" #include "../protocol/team_mgmt.h" +#include "team_types.h" #include #include diff --git a/src/team/infra/nfc/team_nfc.cpp b/src/team/infra/nfc/team_nfc.cpp index b6caebc0..a88815ab 100644 --- a/src/team/infra/nfc/team_nfc.cpp +++ b/src/team/infra/nfc/team_nfc.cpp @@ -5,8 +5,8 @@ #include "team_nfc.h" -#include #include +#include #include #include #include @@ -20,13 +20,13 @@ namespace team::nfc { namespace { -constexpr uint8_t kMagic[4] = { 'T', 'N', 'F', '1' }; +constexpr uint8_t kMagic[4] = {'T', 'N', 'F', '1'}; constexpr size_t kDerivedKeyLen = 16; constexpr uint32_t kPbkdf2Iterations = 10000; constexpr size_t kHeaderSize = 4 + 1 + team::proto::kTeamIdSize + 4 + 4 + kNfcSaltSize + kNfcNonceSize; constexpr char kMimeType[] = "application/vnd.trailmate.teamkey"; -constexpr uint8_t kT4tCcFileId[2] = { 0xE1, 0x03 }; -constexpr uint8_t kT4tNdefFileId[2] = { 0xE1, 0x04 }; +constexpr uint8_t kT4tCcFileId[2] = {0xE1, 0x03}; +constexpr uint8_t kT4tNdefFileId[2] = {0xE1, 0x04}; constexpr size_t kT4tCcFileLen = 15; #ifndef TEAM_NFC_LOG_ENABLE @@ -278,9 +278,9 @@ bool write_ndef_message(const std::vector& payload) return false; } - ndefConstBuffer8 type_buf{ reinterpret_cast(kMimeType), - static_cast(sizeof(kMimeType) - 1) }; - ndefConstBuffer payload_buf{ payload.data(), static_cast(payload.size()) }; + ndefConstBuffer8 type_buf{reinterpret_cast(kMimeType), + static_cast(sizeof(kMimeType) - 1)}; + ndefConstBuffer payload_buf{payload.data(), static_cast(payload.size())}; NdefClass ndef(board->nfc); if (ndef.ndefPollerContextInitializationWrapper(dev) != ERR_NONE) @@ -309,7 +309,7 @@ bool write_ndef_message(const std::vector& payload) } uint8_t raw_buf[256]; - ndefBuffer raw{ raw_buf, sizeof(raw_buf) }; + ndefBuffer raw{raw_buf, sizeof(raw_buf)}; if (ndefMessageEncode(&message, &raw) != ERR_NONE) { TEAM_NFC_LOG("[NFC] write_ndef_message encode_failed\n"); @@ -369,7 +369,7 @@ bool read_ndef_message(std::vector& out_payload) ndefMessage message{}; ndefMessageInit(&message); - ndefConstBuffer msg_buf{ raw_buf, rcvd_len }; + ndefConstBuffer msg_buf{raw_buf, rcvd_len}; if (ndefMessageDecode(&msg_buf, &message) != ERR_NONE) { TEAM_NFC_LOG("[NFC] read_ndef_message decode_failed\n"); @@ -377,7 +377,7 @@ bool read_ndef_message(std::vector& out_payload) } static const uint8_t kMimeType[] = "application/vnd.trailmate.teamkey"; - ndefConstBuffer8 type_buf{ kMimeType, static_cast(sizeof(kMimeType) - 1) }; + ndefConstBuffer8 type_buf{kMimeType, static_cast(sizeof(kMimeType) - 1)}; for (ndefRecord* rec = ndefMessageGetFirstRecord(&message); rec; rec = ndefMessageGetNextRecord(rec)) { @@ -477,11 +477,11 @@ bool build_t4t_files(const std::vector& payload) s_ndef_file.insert(s_ndef_file.end(), payload.begin(), payload.end()); const uint16_t ndef_file_size = static_cast(s_ndef_file.size()); - s_cc_file = { 0x00, 0x0F, 0x20, 0x00, 0xFF, 0x00, 0xFF, - 0x04, 0x06, kT4tNdefFileId[0], kT4tNdefFileId[1], - static_cast((ndef_file_size >> 8) & 0xFF), - static_cast(ndef_file_size & 0xFF), - 0x00, 0xFF }; + s_cc_file = {0x00, 0x0F, 0x20, 0x00, 0xFF, 0x00, 0xFF, + 0x04, 0x06, kT4tNdefFileId[0], kT4tNdefFileId[1], + static_cast((ndef_file_size >> 8) & 0xFF), + static_cast(ndef_file_size & 0xFF), + 0x00, 0xFF}; TEAM_NFC_LOG("[NFC] build_t4t_files ok ndef_file_size=%u\n", static_cast(ndef_file_size)); log_hex("cc_file", s_cc_file.data(), s_cc_file.size()); @@ -551,8 +551,8 @@ void handle_apdu(const uint8_t* apdu, size_t len, std::vector& response const uint8_t* data = apdu + 5; if (p1 == 0x04) { - static const uint8_t kAidV2[] = { 0xD2, 0x76, 0x00, 0x00, 0x85, 0x01, 0x01 }; - static const uint8_t kAidV1[] = { 0xD2, 0x76, 0x00, 0x00, 0x85, 0x01, 0x00 }; + static const uint8_t kAidV2[] = {0xD2, 0x76, 0x00, 0x00, 0x85, 0x01, 0x01}; + static const uint8_t kAidV1[] = {0xD2, 0x76, 0x00, 0x00, 0x85, 0x01, 0x00}; bool match_v2 = (lc == sizeof(kAidV2)) && (memcmp(data, kAidV2, sizeof(kAidV2)) == 0); bool match_v1 = (lc == sizeof(kAidV1)) && (memcmp(data, kAidV1, sizeof(kAidV1)) == 0); if (!match_v2 && !match_v1) diff --git a/src/team/usecase/team_service.h b/src/team/usecase/team_service.h index 2ce0910c..ee7ff291 100644 --- a/src/team/usecase/team_service.h +++ b/src/team/usecase/team_service.h @@ -2,9 +2,9 @@ #include "../../chat/ports/i_mesh_adapter.h" #include "../domain/team_types.h" -#include "../protocol/team_chat.h" #include "../ports/i_team_crypto.h" #include "../ports/i_team_event_sink.h" +#include "../protocol/team_chat.h" #include namespace team diff --git a/src/ui/LV_Helper_v9.cpp b/src/ui/LV_Helper_v9.cpp index 66ba875e..a64c4db2 100644 --- a/src/ui/LV_Helper_v9.cpp +++ b/src/ui/LV_Helper_v9.cpp @@ -57,28 +57,35 @@ static void disp_flush(lv_display_t* disp_drv, const lv_area_t* area, uint8_t* c #if LV_TEST_FLUSH_LOG #if LV_TEST_FLUSH_SAMPLE bool all_zero_sample = false; - if (color_p && len > 0) { + if (color_p && len > 0) + { const uint16_t* pix = reinterpret_cast(color_p); size_t step = len / 8; if (step == 0) step = 1; all_zero_sample = true; - for (size_t i = 0, idx = 0; i < 8 && idx < len; ++i, idx += step) { - if (pix[idx] != 0) { + for (size_t i = 0, idx = 0; i < 8 && idx < len; ++i, idx += step) + { + if (pix[idx] != 0) + { all_zero_sample = false; break; } } } - if (all_zero_sample) { + if (all_zero_sample) + { s_zero_streak++; - } else { + } + else + { s_zero_streak = 0; } #endif s_flush_count++; s_last_area = *area; uint32_t now_ms = millis(); - if (now_ms - s_flush_last_ms >= 1000) { + if (now_ms - s_flush_last_ms >= 1000) + { lv_obj_t* scr = lv_screen_active(); unsigned child_cnt = scr ? (unsigned)lv_obj_get_child_cnt(scr) : 0; Serial.printf("[LVGL] flush/s=%lu last_area=%d,%d-%d,%d children=%u", diff --git a/src/ui/app_screen.h b/src/ui/app_screen.h index 30ba1727..918111f6 100644 --- a/src/ui/app_screen.h +++ b/src/ui/app_screen.h @@ -2,8 +2,9 @@ #include "lvgl.h" -class AppScreen { -public: +class AppScreen +{ + public: virtual ~AppScreen() = default; virtual const char* name() const = 0; virtual const lv_image_dsc_t* icon() const = 0; diff --git a/src/ui/assets/gps.c b/src/ui/assets/gps.c index 7480f168..a08020e3 100644 --- a/src/ui/assets/gps.c +++ b/src/ui/assets/gps.c @@ -1,18 +1,17 @@ #ifdef __has_include - #if __has_include("lvgl.h") - #ifndef LV_LVGL_H_INCLUDE_SIMPLE - #define LV_LVGL_H_INCLUDE_SIMPLE - #endif - #endif +#if __has_include("lvgl.h") +#ifndef LV_LVGL_H_INCLUDE_SIMPLE +#define LV_LVGL_H_INCLUDE_SIMPLE +#endif +#endif #endif #if defined(LV_LVGL_H_INCLUDE_SIMPLE) - #include "lvgl.h" +#include "lvgl.h" #else - #include "lvgl/lvgl.h" +#include "lvgl/lvgl.h" #endif - #ifndef LV_ATTRIBUTE_MEM_ALIGN #define LV_ATTRIBUTE_MEM_ALIGN #endif @@ -22,144 +21,12304 @@ #endif const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMAGE_GPS uint8_t gps_map[] = { - 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, 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, 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, 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, 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, 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, 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, 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, 0xca, 0x41, 0xea, 0x41, 0xca, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xca, 0x41, 0xea, 0x41, 0xea, 0x41, 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, 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, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xca, 0x41, 0xca, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0x67, 0x82, 0xc5, 0xaa, 0x23, 0xd3, 0x42, 0xeb, 0x42, 0xeb, 0x23, 0xd3, 0x04, 0xc3, 0x67, 0x82, 0x09, 0x5a, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xca, 0x41, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xc5, 0xaa, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0xc5, 0xaa, 0x09, 0x5a, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0x28, 0x6a, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x67, 0x82, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0xca, 0x41, 0xea, 0x41, 0xea, 0x41, 0x67, 0x82, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x86, 0x92, 0xea, 0x41, 0xea, 0x41, 0xca, 0x41, 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, 0x00, 0x00, 0x00, 0xca, 0x41, 0xea, 0x41, 0x28, 0x6a, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x67, 0x82, 0xea, 0x41, 0xea, 0x41, 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, 0x00, 0xea, 0x41, 0xea, 0x41, 0x09, 0x5a, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x09, 0x5a, 0xea, 0x41, 0xea, 0x41, 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, 0xea, 0x41, 0xea, 0x41, 0x86, 0x92, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x86, 0x92, 0xea, 0x41, 0xea, 0x41, 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, 0xea, 0x41, 0xea, 0x41, 0x09, 0x5a, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x09, 0x5a, 0xea, 0x41, 0xea, 0x41, 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, 0xea, 0x41, 0xea, 0x41, 0x86, 0x92, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x67, 0x82, 0xea, 0x41, 0xea, 0x41, 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, 0xca, 0x41, 0xea, 0x41, 0x04, 0xc3, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x04, 0xc3, 0xea, 0x41, 0xca, 0x41, 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, 0xea, 0x41, 0xea, 0x41, 0x23, 0xd3, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x23, 0xd3, 0xea, 0x41, 0xea, 0x41, 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, 0xea, 0x41, 0xea, 0x41, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0xea, 0x41, 0xea, 0x41, 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, 0xea, 0x41, 0xea, 0x41, 0x23, 0xd3, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x23, 0xd3, 0xea, 0x41, 0xea, 0x41, 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, 0xea, 0x41, 0xea, 0x41, 0x23, 0xd3, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x23, 0xd3, 0xea, 0x41, 0xea, 0x41, 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, 0xca, 0x41, 0xea, 0x41, 0xc5, 0xaa, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0xc5, 0xaa, 0xea, 0x41, 0xca, 0x41, 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, 0xca, 0x41, 0xea, 0x41, 0xc5, 0xaa, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x86, 0x92, 0xea, 0x41, 0xea, 0x41, 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, 0xea, 0x41, 0xea, 0x41, 0x67, 0x82, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x28, 0x6a, 0xea, 0x41, 0xea, 0x41, 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, 0xca, 0x41, 0xea, 0x41, 0xea, 0x41, 0x23, 0xd3, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x23, 0xd3, 0xea, 0x41, 0xea, 0x41, 0xca, 0x41, 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, 0xca, 0x41, 0xea, 0x41, 0xc5, 0xaa, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x86, 0x92, 0xea, 0x41, 0xca, 0x41, 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, 0xea, 0x41, 0xea, 0x41, 0x28, 0x6a, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x09, 0x5a, 0xea, 0x41, 0xea, 0x41, 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, 0xca, 0x41, 0xea, 0x41, 0xea, 0x41, 0x23, 0xd3, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0xc5, 0xaa, 0xea, 0x41, 0xea, 0x41, 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, 0x00, 0x00, 0x00, 0xea, 0x41, 0xea, 0x41, 0x09, 0x5a, 0x23, 0xd3, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x23, 0xd3, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 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, 0x00, 0x00, 0x00, 0xca, 0x41, 0xea, 0x41, 0xea, 0x41, 0x86, 0x92, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x28, 0x6a, 0xea, 0x41, 0xea, 0x41, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0x23, 0xd3, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0xc5, 0xaa, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xea, 0x41, 0xea, 0x41, 0x09, 0x5a, 0x23, 0xd3, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x23, 0xd3, 0xea, 0x41, 0xea, 0x41, 0xca, 0x41, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xca, 0x41, 0xea, 0x41, 0xea, 0x41, 0x86, 0x92, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x28, 0x6a, 0xea, 0x41, 0xea, 0x41, 0xca, 0x41, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0x23, 0xd3, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x04, 0xc3, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xca, 0x41, 0xea, 0x41, 0x28, 0x6a, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x09, 0x5a, 0xea, 0x41, 0xca, 0x41, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xca, 0x41, 0xea, 0x41, 0xea, 0x41, 0x23, 0xd3, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x86, 0x92, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xea, 0x41, 0xea, 0x41, 0x28, 0x6a, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x09, 0x5a, 0xea, 0x41, 0xea, 0x41, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xca, 0x41, 0xea, 0x41, 0xea, 0x41, 0x23, 0xd3, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x86, 0x92, 0xea, 0x41, 0xea, 0x41, 0xca, 0x41, 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, 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, 0xea, 0x41, 0xea, 0x41, 0x67, 0x82, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x09, 0x5a, 0xea, 0x41, 0xea, 0x41, 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, 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, 0xca, 0x41, 0xea, 0x41, 0xea, 0x41, 0x23, 0xd3, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x23, 0xd3, 0xea, 0x41, 0xea, 0x41, 0xca, 0x41, 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, 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, 0xca, 0x41, 0xea, 0x41, 0x86, 0x92, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x86, 0x92, 0xea, 0x41, 0xea, 0x41, 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, 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, 0xea, 0x41, 0xea, 0x41, 0x28, 0x6a, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0x42, 0xeb, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 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, 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, 0xca, 0x41, 0xea, 0x41, 0xea, 0x41, 0x23, 0xd3, 0x42, 0xeb, 0x42, 0xeb, 0x23, 0xd3, 0xea, 0x41, 0xea, 0x41, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xc5, 0xaa, 0x42, 0xeb, 0x42, 0xeb, 0x86, 0x92, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 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, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0x67, 0x82, 0x42, 0xeb, 0x42, 0xeb, 0x28, 0x6a, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 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, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xca, 0x41, 0xea, 0x41, 0xea, 0x41, 0x42, 0xeb, 0x23, 0xd3, 0xea, 0x41, 0xea, 0x41, 0xca, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xca, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 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, 0xca, 0x41, 0xea, 0x41, 0xea, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xea, 0x41, 0xea, 0x41, 0x23, 0xd3, 0x04, 0xc3, 0xea, 0x41, 0xea, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 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, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 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, 0xca, 0x41, 0xea, 0x41, 0xc5, 0xaa, 0x86, 0x92, 0xea, 0x41, 0xea, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xca, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 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, 0xca, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 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, 0xea, 0x41, 0xea, 0x41, 0xc5, 0xaa, 0x86, 0x92, 0xea, 0x41, 0xea, 0x41, 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, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xca, 0x41, 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, 0xca, 0x41, 0xea, 0x41, 0xca, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x45, 0x8e, 0x45, 0x8e, 0x45, 0x8e, 0x45, 0x8e, 0x07, 0x7d, 0xea, 0x41, 0x67, 0x82, 0x28, 0x6a, 0xea, 0x41, 0x67, 0x74, 0x45, 0x8e, 0x45, 0x96, 0x45, 0x8e, 0x46, 0x8e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xea, 0x41, 0xea, 0x41, 0xca, 0x41, 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, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xca, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x45, 0x8e, 0x45, 0x8e, 0x45, 0x8e, 0x45, 0x8e, 0x45, 0x8e, 0x45, 0x8e, 0xa6, 0x85, 0xea, 0x41, 0x28, 0x6a, 0xea, 0x41, 0xea, 0x41, 0xa6, 0x85, 0x45, 0x8e, 0x45, 0x8e, 0x45, 0x8e, 0x45, 0x8e, 0x45, 0x96, 0x45, 0x8e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xca, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 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, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x45, 0x8e, 0x45, 0x8e, 0x45, 0x8e, 0x45, 0x8e, 0x45, 0x8e, 0x45, 0x8e, 0x45, 0x8e, 0x45, 0x8e, 0xe9, 0x5a, 0xea, 0x41, 0xea, 0x41, 0x69, 0x4a, 0x45, 0x8e, 0x45, 0x8e, 0x45, 0x8e, 0x45, 0x8e, 0x45, 0x8e, 0x45, 0x8e, 0x45, 0x8e, 0x45, 0x96, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 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, 0xea, 0x41, 0xea, 0x41, 0xca, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x45, 0x96, 0x45, 0x8e, 0x45, 0x8e, 0x45, 0x8e, 0x45, 0x8e, 0x45, 0x8e, 0x45, 0x8e, 0x45, 0x8e, 0xa6, 0x85, 0xe9, 0x5a, 0x69, 0x4a, 0x26, 0x7d, 0x45, 0x8e, 0x45, 0x8e, 0x45, 0x8e, 0x45, 0x8e, 0x45, 0x8e, 0x45, 0x8e, 0x45, 0x8e, 0x45, 0x8e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xca, 0x41, 0xea, 0x41, 0xea, 0x41, 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, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x45, 0x8e, 0x45, 0x8e, 0x45, 0x96, 0x45, 0x8e, 0x45, 0x8e, 0x45, 0x8e, 0x45, 0x8e, 0x45, 0x8e, 0x45, 0x8e, 0x45, 0x8e, 0x45, 0x8e, 0x45, 0x8e, 0x45, 0x8e, 0x45, 0x8e, 0x45, 0x8e, 0x45, 0x8e, 0x45, 0x8e, 0x45, 0x96, 0x45, 0x8e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xca, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 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, 0xca, 0x41, 0xea, 0x41, 0xea, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x45, 0x8e, 0x46, 0x8e, 0x45, 0x8e, 0x45, 0x96, 0x45, 0x8e, 0x45, 0x96, 0x45, 0x96, 0x45, 0x8e, 0x45, 0x8e, 0x45, 0x96, 0x45, 0x96, 0x45, 0x8e, 0x45, 0x96, 0x45, 0x8e, 0x46, 0x8e, 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, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 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, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0xca, 0x41, 0xca, 0x41, 0xea, 0x41, 0xea, 0x41, 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, 0xca, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xca, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 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, 0xca, 0x41, 0xea, 0x41, 0xea, 0x41, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 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, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xca, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xca, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xca, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xca, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xea, 0x41, 0xca, 0x41, 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, 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, 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, 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, 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, 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, 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, + 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, + 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, + 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, + 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, + 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, + 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, + 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, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xca, + 0x41, + 0xea, + 0x41, + 0xca, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xca, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 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, + 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, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 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, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xca, + 0x41, + 0xca, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0x67, + 0x82, + 0xc5, + 0xaa, + 0x23, + 0xd3, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x23, + 0xd3, + 0x04, + 0xc3, + 0x67, + 0x82, + 0x09, + 0x5a, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xca, + 0x41, + 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, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xc5, + 0xaa, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0xc5, + 0xaa, + 0x09, + 0x5a, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 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, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0x28, + 0x6a, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x67, + 0x82, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 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, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xca, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0x67, + 0x82, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x86, + 0x92, + 0xea, + 0x41, + 0xea, + 0x41, + 0xca, + 0x41, + 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, + 0x00, + 0x00, + 0x00, + 0xca, + 0x41, + 0xea, + 0x41, + 0x28, + 0x6a, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x67, + 0x82, + 0xea, + 0x41, + 0xea, + 0x41, + 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, + 0x00, + 0xea, + 0x41, + 0xea, + 0x41, + 0x09, + 0x5a, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x09, + 0x5a, + 0xea, + 0x41, + 0xea, + 0x41, + 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, + 0xea, + 0x41, + 0xea, + 0x41, + 0x86, + 0x92, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x86, + 0x92, + 0xea, + 0x41, + 0xea, + 0x41, + 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, + 0xea, + 0x41, + 0xea, + 0x41, + 0x09, + 0x5a, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x09, + 0x5a, + 0xea, + 0x41, + 0xea, + 0x41, + 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, + 0xea, + 0x41, + 0xea, + 0x41, + 0x86, + 0x92, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x67, + 0x82, + 0xea, + 0x41, + 0xea, + 0x41, + 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, + 0xca, + 0x41, + 0xea, + 0x41, + 0x04, + 0xc3, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x04, + 0xc3, + 0xea, + 0x41, + 0xca, + 0x41, + 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, + 0xea, + 0x41, + 0xea, + 0x41, + 0x23, + 0xd3, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x23, + 0xd3, + 0xea, + 0x41, + 0xea, + 0x41, + 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, + 0xea, + 0x41, + 0xea, + 0x41, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0xea, + 0x41, + 0xea, + 0x41, + 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, + 0xea, + 0x41, + 0xea, + 0x41, + 0x23, + 0xd3, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x23, + 0xd3, + 0xea, + 0x41, + 0xea, + 0x41, + 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, + 0xea, + 0x41, + 0xea, + 0x41, + 0x23, + 0xd3, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x23, + 0xd3, + 0xea, + 0x41, + 0xea, + 0x41, + 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, + 0xca, + 0x41, + 0xea, + 0x41, + 0xc5, + 0xaa, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0xc5, + 0xaa, + 0xea, + 0x41, + 0xca, + 0x41, + 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, + 0xca, + 0x41, + 0xea, + 0x41, + 0xc5, + 0xaa, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x86, + 0x92, + 0xea, + 0x41, + 0xea, + 0x41, + 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, + 0xea, + 0x41, + 0xea, + 0x41, + 0x67, + 0x82, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x28, + 0x6a, + 0xea, + 0x41, + 0xea, + 0x41, + 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, + 0xca, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0x23, + 0xd3, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x23, + 0xd3, + 0xea, + 0x41, + 0xea, + 0x41, + 0xca, + 0x41, + 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, + 0xca, + 0x41, + 0xea, + 0x41, + 0xc5, + 0xaa, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x86, + 0x92, + 0xea, + 0x41, + 0xca, + 0x41, + 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, + 0xea, + 0x41, + 0xea, + 0x41, + 0x28, + 0x6a, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x09, + 0x5a, + 0xea, + 0x41, + 0xea, + 0x41, + 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, + 0xca, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0x23, + 0xd3, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0xc5, + 0xaa, + 0xea, + 0x41, + 0xea, + 0x41, + 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, + 0x00, + 0x00, + 0x00, + 0xea, + 0x41, + 0xea, + 0x41, + 0x09, + 0x5a, + 0x23, + 0xd3, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x23, + 0xd3, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 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, + 0x00, + 0x00, + 0x00, + 0xca, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0x86, + 0x92, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x28, + 0x6a, + 0xea, + 0x41, + 0xea, + 0x41, + 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, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0x23, + 0xd3, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0xc5, + 0xaa, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 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, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xea, + 0x41, + 0xea, + 0x41, + 0x09, + 0x5a, + 0x23, + 0xd3, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x23, + 0xd3, + 0xea, + 0x41, + 0xea, + 0x41, + 0xca, + 0x41, + 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, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xca, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0x86, + 0x92, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x28, + 0x6a, + 0xea, + 0x41, + 0xea, + 0x41, + 0xca, + 0x41, + 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, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0x23, + 0xd3, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x04, + 0xc3, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 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, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xca, + 0x41, + 0xea, + 0x41, + 0x28, + 0x6a, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x09, + 0x5a, + 0xea, + 0x41, + 0xca, + 0x41, + 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, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xca, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0x23, + 0xd3, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x86, + 0x92, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 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, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xea, + 0x41, + 0xea, + 0x41, + 0x28, + 0x6a, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x09, + 0x5a, + 0xea, + 0x41, + 0xea, + 0x41, + 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, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xca, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0x23, + 0xd3, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x86, + 0x92, + 0xea, + 0x41, + 0xea, + 0x41, + 0xca, + 0x41, + 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, + 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, + 0xea, + 0x41, + 0xea, + 0x41, + 0x67, + 0x82, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x09, + 0x5a, + 0xea, + 0x41, + 0xea, + 0x41, + 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, + 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, + 0xca, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0x23, + 0xd3, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x23, + 0xd3, + 0xea, + 0x41, + 0xea, + 0x41, + 0xca, + 0x41, + 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, + 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, + 0xca, + 0x41, + 0xea, + 0x41, + 0x86, + 0x92, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x86, + 0x92, + 0xea, + 0x41, + 0xea, + 0x41, + 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, + 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, + 0xea, + 0x41, + 0xea, + 0x41, + 0x28, + 0x6a, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 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, + 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, + 0xca, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0x23, + 0xd3, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x23, + 0xd3, + 0xea, + 0x41, + 0xea, + 0x41, + 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, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xc5, + 0xaa, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x86, + 0x92, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 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, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0x67, + 0x82, + 0x42, + 0xeb, + 0x42, + 0xeb, + 0x28, + 0x6a, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 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, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xca, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0x42, + 0xeb, + 0x23, + 0xd3, + 0xea, + 0x41, + 0xea, + 0x41, + 0xca, + 0x41, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xca, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 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, + 0xca, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xea, + 0x41, + 0xea, + 0x41, + 0x23, + 0xd3, + 0x04, + 0xc3, + 0xea, + 0x41, + 0xea, + 0x41, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 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, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 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, + 0xca, + 0x41, + 0xea, + 0x41, + 0xc5, + 0xaa, + 0x86, + 0x92, + 0xea, + 0x41, + 0xea, + 0x41, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xca, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 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, + 0xca, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 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, + 0xea, + 0x41, + 0xea, + 0x41, + 0xc5, + 0xaa, + 0x86, + 0x92, + 0xea, + 0x41, + 0xea, + 0x41, + 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, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xca, + 0x41, + 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, + 0xca, + 0x41, + 0xea, + 0x41, + 0xca, + 0x41, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x45, + 0x8e, + 0x45, + 0x8e, + 0x45, + 0x8e, + 0x45, + 0x8e, + 0x07, + 0x7d, + 0xea, + 0x41, + 0x67, + 0x82, + 0x28, + 0x6a, + 0xea, + 0x41, + 0x67, + 0x74, + 0x45, + 0x8e, + 0x45, + 0x96, + 0x45, + 0x8e, + 0x46, + 0x8e, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xea, + 0x41, + 0xea, + 0x41, + 0xca, + 0x41, + 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, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xca, + 0x41, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x45, + 0x8e, + 0x45, + 0x8e, + 0x45, + 0x8e, + 0x45, + 0x8e, + 0x45, + 0x8e, + 0x45, + 0x8e, + 0xa6, + 0x85, + 0xea, + 0x41, + 0x28, + 0x6a, + 0xea, + 0x41, + 0xea, + 0x41, + 0xa6, + 0x85, + 0x45, + 0x8e, + 0x45, + 0x8e, + 0x45, + 0x8e, + 0x45, + 0x8e, + 0x45, + 0x96, + 0x45, + 0x8e, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xca, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 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, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x45, + 0x8e, + 0x45, + 0x8e, + 0x45, + 0x8e, + 0x45, + 0x8e, + 0x45, + 0x8e, + 0x45, + 0x8e, + 0x45, + 0x8e, + 0x45, + 0x8e, + 0xe9, + 0x5a, + 0xea, + 0x41, + 0xea, + 0x41, + 0x69, + 0x4a, + 0x45, + 0x8e, + 0x45, + 0x8e, + 0x45, + 0x8e, + 0x45, + 0x8e, + 0x45, + 0x8e, + 0x45, + 0x8e, + 0x45, + 0x8e, + 0x45, + 0x96, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 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, + 0xea, + 0x41, + 0xea, + 0x41, + 0xca, + 0x41, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x45, + 0x96, + 0x45, + 0x8e, + 0x45, + 0x8e, + 0x45, + 0x8e, + 0x45, + 0x8e, + 0x45, + 0x8e, + 0x45, + 0x8e, + 0x45, + 0x8e, + 0xa6, + 0x85, + 0xe9, + 0x5a, + 0x69, + 0x4a, + 0x26, + 0x7d, + 0x45, + 0x8e, + 0x45, + 0x8e, + 0x45, + 0x8e, + 0x45, + 0x8e, + 0x45, + 0x8e, + 0x45, + 0x8e, + 0x45, + 0x8e, + 0x45, + 0x8e, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xca, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 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, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x45, + 0x8e, + 0x45, + 0x8e, + 0x45, + 0x96, + 0x45, + 0x8e, + 0x45, + 0x8e, + 0x45, + 0x8e, + 0x45, + 0x8e, + 0x45, + 0x8e, + 0x45, + 0x8e, + 0x45, + 0x8e, + 0x45, + 0x8e, + 0x45, + 0x8e, + 0x45, + 0x8e, + 0x45, + 0x8e, + 0x45, + 0x8e, + 0x45, + 0x8e, + 0x45, + 0x8e, + 0x45, + 0x96, + 0x45, + 0x8e, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xca, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 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, + 0xca, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x45, + 0x8e, + 0x46, + 0x8e, + 0x45, + 0x8e, + 0x45, + 0x96, + 0x45, + 0x8e, + 0x45, + 0x96, + 0x45, + 0x96, + 0x45, + 0x8e, + 0x45, + 0x8e, + 0x45, + 0x96, + 0x45, + 0x96, + 0x45, + 0x8e, + 0x45, + 0x96, + 0x45, + 0x8e, + 0x46, + 0x8e, + 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, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 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, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 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, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xca, + 0x41, + 0xca, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 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, + 0xca, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 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, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xca, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 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, + 0xca, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 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, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 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, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 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, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xca, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xca, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xca, + 0x41, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xca, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xea, + 0x41, + 0xca, + 0x41, + 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, + 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, + 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, + 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, + 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, + 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, + 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, 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, 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, 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, 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, 0x20, 0x7f, 0xbf, 0xdf, 0xff, 0xdf, 0xdf, 0xbf, 0x7f, 0x40, 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, 0x40, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0x7f, 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, 0x20, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0x20, 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, 0x40, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0x60, 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, 0x40, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0x40, 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, 0x20, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0x20, 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, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 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, 0x60, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x60, 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, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 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, 0x40, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x40, 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, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 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, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 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, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 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, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 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, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 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, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 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, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 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, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9f, 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, 0x40, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x60, 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, 0x20, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x20, 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, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 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, 0x60, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x60, 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, 0x20, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 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, 0x60, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x60, 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, 0x20, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 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, 0x40, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x40, 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, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 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, 0x20, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x20, 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, 0x60, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x60, 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, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 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, 0x20, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x40, 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, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9f, 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, 0x20, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x20, 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, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9f, 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, 0x20, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x20, 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, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9f, 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, 0x40, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x60, 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, 0x20, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 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, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 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, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9f, 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, 0x40, 0xff, 0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0xff, 0xdf, 0x40, 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, 0xbf, 0xff, 0x9f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xdf, 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, 0x60, 0xff, 0xdf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbf, 0xff, 0xff, 0xff, 0xff, 0x9f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0xdf, 0xff, 0x7f, 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, 0x20, 0xff, 0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xff, 0xdf, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbf, 0xff, 0xbf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x7f, 0x7f, 0xbf, 0xe7, 0xff, 0xff, 0xff, 0xff, 0xeb, 0xbf, 0x9f, 0x60, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9f, 0xff, 0xbf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xff, 0xff, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0xff, 0xff, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdf, 0xff, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0xff, 0xdf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9f, 0xff, 0xbf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbf, 0xff, 0x9f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xff, 0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x7f, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0xff, 0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbf, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x40, 0x60, 0x9f, 0xbf, 0xdf, 0xdf, 0xff, 0xff, 0xdf, 0xdf, 0xbf, 0x9f, 0x7f, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xdf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xdf, 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, 0x20, 0xbf, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0xff, 0xff, 0x40, 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, 0x20, 0xff, 0xdf, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbf, 0xff, 0x9f, 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, 0x7f, 0xff, 0xdf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0xff, 0xdf, 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, 0x20, 0xdf, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 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, 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, 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, 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, + 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, + 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, + 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, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x20, + 0x7f, + 0xbf, + 0xdf, + 0xff, + 0xdf, + 0xdf, + 0xbf, + 0x7f, + 0x40, + 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, + 0x40, + 0xdf, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xdf, + 0x7f, + 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, + 0x20, + 0xbf, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xdf, + 0x20, + 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, + 0x40, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xdf, + 0x60, + 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, + 0x40, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xdf, + 0x40, + 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, + 0x20, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xdf, + 0x20, + 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, + 0xbf, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xdf, + 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, + 0x60, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x60, + 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, + 0xdf, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xdf, + 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, + 0x40, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x40, + 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, + 0x7f, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x7f, + 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, + 0xbf, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xbf, + 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, + 0xdf, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xdf, + 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, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xdf, + 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, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 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, + 0xdf, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xdf, + 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, + 0xbf, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xbf, + 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, + 0xbf, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x9f, + 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, + 0x40, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x60, + 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, + 0x20, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x20, + 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, + 0xbf, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xbf, + 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, + 0x60, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x60, + 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, + 0x20, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 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, + 0x60, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x60, + 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, + 0x20, + 0xdf, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xdf, + 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, + 0x40, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x40, + 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, + 0x9f, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xbf, + 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, + 0x20, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x20, + 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, + 0x60, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x60, + 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, + 0xbf, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xbf, + 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, + 0x20, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x40, + 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, + 0x9f, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x9f, + 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, + 0x20, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x20, + 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, + 0x9f, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x9f, + 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, + 0x20, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x20, + 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, + 0xbf, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x9f, + 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, + 0x40, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x60, + 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, + 0x20, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 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, + 0xdf, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xdf, + 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, + 0x7f, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x9f, + 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, + 0x40, + 0xff, + 0xff, + 0x40, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x20, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x20, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x20, + 0xff, + 0xdf, + 0x40, + 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, + 0xbf, + 0xff, + 0x9f, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xdf, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x7f, + 0xff, + 0xdf, + 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, + 0x60, + 0xff, + 0xdf, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xbf, + 0xff, + 0xff, + 0xff, + 0xff, + 0x9f, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x20, + 0xdf, + 0xff, + 0x7f, + 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, + 0x20, + 0xff, + 0xff, + 0x40, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x7f, + 0xff, + 0xff, + 0xff, + 0xff, + 0x7f, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x40, + 0xff, + 0xdf, + 0x20, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xbf, + 0xff, + 0xbf, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x20, + 0x7f, + 0x7f, + 0xbf, + 0xe7, + 0xff, + 0xff, + 0xff, + 0xff, + 0xeb, + 0xbf, + 0x9f, + 0x60, + 0x40, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x9f, + 0xff, + 0xbf, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x40, + 0xff, + 0xff, + 0x20, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x7f, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xdf, + 0x7f, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x20, + 0xff, + 0xff, + 0x60, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xdf, + 0xff, + 0x60, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xbf, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x9f, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x60, + 0xff, + 0xdf, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x9f, + 0xff, + 0xbf, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x9f, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xbf, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xbf, + 0xff, + 0x9f, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x40, + 0xff, + 0xff, + 0x40, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x20, + 0x7f, + 0xdf, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xdf, + 0x7f, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x20, + 0xff, + 0xff, + 0x40, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xbf, + 0xff, + 0x7f, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x20, + 0x40, + 0x60, + 0x9f, + 0xbf, + 0xdf, + 0xdf, + 0xff, + 0xff, + 0xdf, + 0xdf, + 0xbf, + 0x9f, + 0x7f, + 0x40, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x7f, + 0xff, + 0xdf, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x7f, + 0xff, + 0xdf, + 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, + 0x20, + 0xbf, + 0xff, + 0x7f, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x20, + 0xff, + 0xff, + 0x40, + 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, + 0x20, + 0xff, + 0xdf, + 0x40, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xbf, + 0xff, + 0x9f, + 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, + 0x7f, + 0xff, + 0xdf, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x60, + 0xff, + 0xdf, + 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, + 0x20, + 0xdf, + 0xff, + 0x7f, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x20, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xdf, + 0x20, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xbf, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xbf, + 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, + 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, + 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, + 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, }; const lv_image_dsc_t gps_icon = { - .header.magic = LV_IMAGE_HEADER_MAGIC, - .header.cf = LV_COLOR_FORMAT_RGB565A8, - .header.flags = 0, - .header.w = 64, - .header.h = 64, - .header.stride = 128, - .data_size = sizeof(gps_map), - .data = gps_map, + .header.magic = LV_IMAGE_HEADER_MAGIC, + .header.cf = LV_COLOR_FORMAT_RGB565A8, + .header.flags = 0, + .header.w = 64, + .header.h = 64, + .header.stride = 128, + .data_size = sizeof(gps_map), + .data = gps_map, }; diff --git a/src/ui/assets/images.h b/src/ui/assets/images.h index 889c4575..57f341d3 100644 --- a/src/ui/assets/images.h +++ b/src/ui/assets/images.h @@ -1,7 +1,7 @@ /** * @file images.h * @brief Image asset declarations for LVGL v9 - * + * * This header declares external image descriptors that are defined * in the corresponding .c files in this directory. */ diff --git a/src/ui/assets/img_usb.c b/src/ui/assets/img_usb.c index 3ad3c262..69f70c79 100644 --- a/src/ui/assets/img_usb.c +++ b/src/ui/assets/img_usb.c @@ -1,18 +1,17 @@ #ifdef __has_include - #if __has_include("lvgl.h") - #ifndef LV_LVGL_H_INCLUDE_SIMPLE - #define LV_LVGL_H_INCLUDE_SIMPLE - #endif - #endif +#if __has_include("lvgl.h") +#ifndef LV_LVGL_H_INCLUDE_SIMPLE +#define LV_LVGL_H_INCLUDE_SIMPLE +#endif +#endif #endif #if defined(LV_LVGL_H_INCLUDE_SIMPLE) - #include "lvgl.h" +#include "lvgl.h" #else - #include "lvgl/lvgl.h" +#include "lvgl/lvgl.h" #endif - #ifndef LV_ATTRIBUTE_MEM_ALIGN #define LV_ATTRIBUTE_MEM_ALIGN #endif @@ -22,144 +21,12304 @@ #endif const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMAGE_IMG_USB uint8_t img_usb_map[] = { - 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, 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, 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, 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, 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, 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, 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, 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, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 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, 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, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 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, 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, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 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, 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, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0x34, 0xad, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 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, 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, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xf7, 0xc5, 0x5c, 0xef, 0x99, 0xd6, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 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, 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, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xf7, 0xc5, 0x5c, 0xef, 0x5c, 0xef, 0x5c, 0xef, 0x99, 0xd6, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xf7, 0xc5, 0x5c, 0xef, 0x5c, 0xef, 0x5c, 0xef, 0x5c, 0xef, 0x5c, 0xef, 0x99, 0xd6, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xf7, 0xc5, 0x5c, 0xef, 0x5c, 0xef, 0x5c, 0xef, 0x5c, 0xef, 0x5c, 0xef, 0x5c, 0xef, 0x5c, 0xef, 0x99, 0xd6, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xf7, 0xc5, 0x5c, 0xef, 0x5c, 0xef, 0xf7, 0xc5, 0x34, 0xad, 0x5c, 0xef, 0x5c, 0xef, 0x5c, 0xef, 0x5c, 0xef, 0x5c, 0xef, 0x99, 0xd6, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 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, 0x00, 0xa7, 0x39, 0xa6, 0x39, 0x86, 0x39, 0x00, 0x00, 0x00, 0x00, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xf7, 0xc5, 0x5c, 0xef, 0x5c, 0xef, 0x34, 0xad, 0xa6, 0x39, 0xa6, 0x39, 0x91, 0x94, 0x5c, 0xef, 0x5c, 0xef, 0x5c, 0xef, 0x5c, 0xef, 0x5c, 0xef, 0x99, 0xd6, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 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, 0xa7, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0x86, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xf7, 0xc5, 0x5c, 0xef, 0x5c, 0xef, 0x34, 0xad, 0xa6, 0x39, 0xe6, 0x51, 0x06, 0x52, 0xa6, 0x39, 0x91, 0x94, 0x5c, 0xef, 0x5c, 0xef, 0x5c, 0xef, 0x5c, 0xef, 0x5c, 0xef, 0x99, 0xd6, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 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, 0xa7, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xf7, 0xc5, 0x5c, 0xef, 0x5c, 0xef, 0x99, 0xd6, 0xa6, 0x39, 0xe6, 0x51, 0x25, 0xab, 0xa4, 0xdb, 0xa6, 0x39, 0xa6, 0x39, 0xf7, 0xc5, 0x5c, 0xef, 0x5c, 0xef, 0x5c, 0xef, 0x5c, 0xef, 0x5c, 0xef, 0x99, 0xd6, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 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, 0xa7, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xf7, 0xc5, 0x5c, 0xef, 0x5c, 0xef, 0x5c, 0xef, 0x5c, 0xef, 0x69, 0x52, 0xa6, 0x39, 0xc5, 0x92, 0x85, 0x82, 0xa6, 0x39, 0x69, 0x52, 0x5c, 0xef, 0x5c, 0xef, 0x5c, 0xef, 0x5c, 0xef, 0x5c, 0xef, 0x5c, 0xef, 0x5c, 0xef, 0x99, 0xd6, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 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, 0xa7, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0x0f, 0x84, 0xfe, 0xff, 0x08, 0x42, 0xa6, 0x39, 0xa6, 0x39, 0x69, 0x52, 0x99, 0xd6, 0x5c, 0xef, 0x5c, 0xef, 0x5c, 0xef, 0x5c, 0xef, 0x5c, 0xef, 0x69, 0x52, 0xa6, 0x39, 0xa6, 0x39, 0x69, 0x52, 0x5c, 0xef, 0x5c, 0xef, 0x99, 0xd6, 0xf7, 0xc5, 0x5c, 0xef, 0x5c, 0xef, 0x5c, 0xef, 0x5c, 0xef, 0x5c, 0xef, 0x99, 0xd6, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 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, 0xa7, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0x0f, 0x84, 0xfe, 0xff, 0xfe, 0xff, 0x3b, 0xef, 0xe7, 0x41, 0xa6, 0x39, 0xa6, 0x39, 0x69, 0x52, 0x99, 0xd6, 0x5c, 0xef, 0x5c, 0xef, 0x5c, 0xef, 0x5c, 0xef, 0x5c, 0xef, 0x0c, 0x63, 0x0c, 0x63, 0x5c, 0xef, 0x5c, 0xef, 0x99, 0xd6, 0x0c, 0x63, 0xa6, 0x39, 0x91, 0x94, 0x5c, 0xef, 0x5c, 0xef, 0x5c, 0xef, 0x5c, 0xef, 0x5c, 0xef, 0x99, 0xd6, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 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, 0xa7, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0x0f, 0x84, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0x3b, 0xef, 0xe7, 0x41, 0xa6, 0x39, 0xa6, 0x39, 0x69, 0x52, 0x99, 0xd6, 0x5c, 0xef, 0x5c, 0xef, 0x5c, 0xef, 0x5c, 0xef, 0x5c, 0xef, 0x5c, 0xef, 0x5c, 0xef, 0x99, 0xd6, 0x0c, 0x63, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0x91, 0x94, 0x5c, 0xef, 0x5c, 0xef, 0x5c, 0xef, 0x5c, 0xef, 0x5c, 0xef, 0x34, 0xad, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 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, 0xa7, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0x0f, 0x84, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0x3b, 0xef, 0xe7, 0x41, 0xa6, 0x39, 0xa6, 0x39, 0x69, 0x52, 0x99, 0xd6, 0x5c, 0xef, 0x5c, 0xef, 0x5c, 0xef, 0x5c, 0xef, 0x5c, 0xef, 0x5c, 0xef, 0x0c, 0x63, 0xa6, 0x39, 0x85, 0x82, 0xa4, 0xdb, 0x06, 0x52, 0xa6, 0x39, 0x34, 0xad, 0x5c, 0xef, 0x5c, 0xef, 0x5c, 0xef, 0xf7, 0xc5, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 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, 0xa7, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0x0f, 0x84, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0x3b, 0xef, 0xe7, 0x41, 0xa6, 0x39, 0xa6, 0x39, 0x69, 0x52, 0x99, 0xd6, 0x5c, 0xef, 0x5c, 0xef, 0x5c, 0xef, 0x5c, 0xef, 0x5c, 0xef, 0x0c, 0x63, 0xa6, 0x39, 0x85, 0x82, 0xa4, 0xdb, 0xa6, 0x39, 0xa6, 0x39, 0xf7, 0xc5, 0x5c, 0xef, 0x5c, 0xef, 0xf7, 0xc5, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 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, 0xa7, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0x0f, 0x84, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0x4c, 0x6b, 0x0f, 0x84, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0x3b, 0xef, 0xe7, 0x41, 0xa6, 0x39, 0xa6, 0x39, 0x69, 0x52, 0x99, 0xd6, 0x5c, 0xef, 0x5c, 0xef, 0x5c, 0xef, 0x5c, 0xef, 0x99, 0xd6, 0x0c, 0x63, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0x34, 0xad, 0x5c, 0xef, 0x5c, 0xef, 0xf7, 0xc5, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 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, 0xa7, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0x0f, 0x84, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0x95, 0xb5, 0xa6, 0x39, 0xa6, 0x39, 0x69, 0x52, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0x3b, 0xef, 0xe7, 0x41, 0xa6, 0x39, 0xa6, 0x39, 0x69, 0x52, 0x99, 0xd6, 0x5c, 0xef, 0x5c, 0xef, 0x5c, 0xef, 0x5c, 0xef, 0x99, 0xd6, 0x0c, 0x63, 0xa6, 0x39, 0x34, 0xad, 0x5c, 0xef, 0x5c, 0xef, 0xf7, 0xc5, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 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, 0xa7, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0x0f, 0x84, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0x3b, 0xef, 0x69, 0x52, 0xa6, 0x39, 0xa6, 0x39, 0x69, 0x52, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0x3b, 0xef, 0xe7, 0x41, 0xa6, 0x39, 0xa6, 0x39, 0x69, 0x52, 0x99, 0xd6, 0x5c, 0xef, 0x5c, 0xef, 0x5c, 0xef, 0x5c, 0xef, 0x99, 0xd6, 0x99, 0xd6, 0x5c, 0xef, 0x5c, 0xef, 0xf7, 0xc5, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 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, 0xa7, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0x0f, 0x84, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0x3b, 0xef, 0x69, 0x52, 0xa6, 0x39, 0xa6, 0x39, 0x69, 0x52, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0x3b, 0xef, 0xe7, 0x41, 0xa6, 0x39, 0xa6, 0x39, 0x69, 0x52, 0x99, 0xd6, 0x5c, 0xef, 0x5c, 0xef, 0x5c, 0xef, 0x5c, 0xef, 0x5c, 0xef, 0x5c, 0xef, 0xf7, 0xc5, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 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, 0xa7, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0x0f, 0x84, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0x3b, 0xef, 0x69, 0x52, 0xa6, 0x39, 0xa6, 0x39, 0x69, 0x52, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0x3b, 0xef, 0xe7, 0x41, 0xa6, 0x39, 0xa6, 0x39, 0x69, 0x52, 0x99, 0xd6, 0x5c, 0xef, 0x5c, 0xef, 0x5c, 0xef, 0x5c, 0xef, 0xf7, 0xc5, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 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, 0xa7, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0x0f, 0x84, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0x3b, 0xef, 0x69, 0x52, 0xa6, 0x39, 0xa6, 0x39, 0x69, 0x52, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0x3b, 0xef, 0xe7, 0x41, 0xa6, 0x39, 0xa6, 0x39, 0x69, 0x52, 0x99, 0xd6, 0x5c, 0xef, 0x5c, 0xef, 0xf7, 0xc5, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 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, 0xa7, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0x0f, 0x84, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xd2, 0x9c, 0x69, 0x52, 0xd2, 0x9c, 0xfe, 0xff, 0xfe, 0xff, 0x3b, 0xef, 0x69, 0x52, 0xa6, 0x39, 0xa6, 0x39, 0x69, 0x52, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0x3b, 0xef, 0xe7, 0x41, 0xa6, 0x39, 0xa6, 0x39, 0x69, 0x52, 0x99, 0xd6, 0xf7, 0xc5, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 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, 0xa7, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0x0f, 0x84, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xa6, 0x39, 0xa6, 0x39, 0x69, 0x52, 0xd2, 0x9c, 0xfe, 0xff, 0xfe, 0xff, 0x3b, 0xef, 0x69, 0x52, 0xa6, 0x39, 0xa6, 0x39, 0x69, 0x52, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0x3b, 0xef, 0xe7, 0x41, 0xa6, 0x39, 0xa6, 0x39, 0x69, 0x52, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 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, 0xa7, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0x0f, 0x84, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xd2, 0x9c, 0xa6, 0x39, 0xa6, 0x39, 0x69, 0x52, 0xd2, 0x9c, 0xfe, 0xff, 0xfe, 0xff, 0x3b, 0xef, 0x69, 0x52, 0xa6, 0x39, 0xa6, 0x39, 0x69, 0x52, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0x3b, 0xef, 0xe7, 0x41, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 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, 0xa7, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0x0f, 0x84, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xd2, 0x9c, 0xa6, 0x39, 0xa6, 0x39, 0x69, 0x52, 0xd2, 0x9c, 0xfe, 0xff, 0xfe, 0xff, 0x3b, 0xef, 0x69, 0x52, 0xa6, 0x39, 0xa6, 0x39, 0x69, 0x52, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0x3b, 0xef, 0xe7, 0x41, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0x86, 0x39, 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, 0xa7, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0x0f, 0x84, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xd2, 0x9c, 0xa6, 0x39, 0xa6, 0x39, 0x69, 0x52, 0xd2, 0x9c, 0xfe, 0xff, 0xfe, 0xff, 0x3b, 0xef, 0x69, 0x52, 0xa6, 0x39, 0xa6, 0x39, 0x4c, 0x6b, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0x3b, 0xef, 0x08, 0x42, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0x86, 0x39, 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, 0xa7, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xcb, 0x62, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xd2, 0x9c, 0xa6, 0x39, 0xa6, 0x39, 0x69, 0x52, 0x95, 0xb5, 0xfe, 0xff, 0xfe, 0xff, 0x3b, 0xef, 0x69, 0x52, 0xa6, 0x39, 0x0f, 0x84, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 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, 0xa7, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xd2, 0x9c, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xd2, 0x9c, 0xa6, 0x39, 0xa6, 0x39, 0x69, 0x52, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0x3b, 0xef, 0x95, 0xb5, 0x3b, 0xef, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0x0f, 0x84, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0x86, 0x39, 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, 0xa7, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0x46, 0x6a, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xd2, 0x9c, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xd2, 0x9c, 0xa6, 0x39, 0x0f, 0x84, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0x0f, 0x84, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xa7, 0x39, 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, 0xa7, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0x85, 0x82, 0x04, 0xf4, 0x25, 0xab, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xd2, 0x9c, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0x0f, 0x84, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xa7, 0x39, 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, 0xa7, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0x85, 0x82, 0x04, 0xf4, 0x04, 0xf4, 0x04, 0xf4, 0x25, 0xab, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xd2, 0x9c, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0x0f, 0x84, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xa7, 0x39, 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, 0xa7, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0x85, 0x82, 0x04, 0xf4, 0x04, 0xf4, 0x04, 0xf4, 0x04, 0xf4, 0x04, 0xf4, 0x25, 0xab, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xd2, 0x9c, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0x0f, 0x84, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xa7, 0x39, 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, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0x85, 0x82, 0x04, 0xf4, 0x04, 0xf4, 0x04, 0xf4, 0x04, 0xf4, 0x04, 0xf4, 0x04, 0xf4, 0x04, 0xf4, 0x25, 0xab, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xd2, 0x9c, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0x0f, 0x84, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xa7, 0x39, 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, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xe6, 0x51, 0xa4, 0xdb, 0x04, 0xf4, 0x04, 0xf4, 0x04, 0xf4, 0x04, 0xf4, 0x04, 0xf4, 0x04, 0xf4, 0x04, 0xf4, 0x25, 0xab, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xd2, 0x9c, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0x0f, 0x84, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xa7, 0x39, 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, 0x86, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xe6, 0x51, 0xa4, 0xdb, 0x04, 0xf4, 0x04, 0xf4, 0x04, 0xf4, 0x04, 0xf4, 0x04, 0xf4, 0x04, 0xf4, 0x04, 0xf4, 0x25, 0xab, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xd2, 0x9c, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0x0f, 0x84, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xa7, 0x39, 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, 0x86, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xe6, 0x51, 0xa4, 0xdb, 0x04, 0xf4, 0x04, 0xf4, 0x04, 0xf4, 0x04, 0xf4, 0x04, 0xf4, 0x04, 0xf4, 0x04, 0xf4, 0x25, 0xab, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xd2, 0x9c, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0x0f, 0x84, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xa7, 0x39, 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, 0x86, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xe6, 0x51, 0xa4, 0xdb, 0x04, 0xf4, 0x04, 0xf4, 0x04, 0xf4, 0x04, 0xf4, 0x04, 0xf4, 0x04, 0xf4, 0x04, 0xf4, 0x25, 0xab, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xd2, 0x9c, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0x0f, 0x84, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xa7, 0x39, 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, 0x86, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xe6, 0x51, 0xa4, 0xdb, 0x04, 0xf4, 0x04, 0xf4, 0x04, 0xf4, 0x04, 0xf4, 0x04, 0xf4, 0x04, 0xf4, 0x04, 0xf4, 0x25, 0xab, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xd2, 0x9c, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0x0f, 0x84, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xa7, 0x39, 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, 0x86, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xe6, 0x51, 0xa4, 0xdb, 0x04, 0xf4, 0x04, 0xf4, 0x04, 0xf4, 0x04, 0xf4, 0x04, 0xf4, 0x04, 0xf4, 0x04, 0xf4, 0x25, 0xab, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xd2, 0x9c, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0x0f, 0x84, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xa7, 0x39, 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, 0x86, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xe6, 0x51, 0xa4, 0xdb, 0x04, 0xf4, 0x04, 0xf4, 0x04, 0xf4, 0x04, 0xf4, 0x04, 0xf4, 0x04, 0xf4, 0x04, 0xf4, 0x25, 0xab, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xd2, 0x9c, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0x0f, 0x84, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xa7, 0x39, 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, 0x86, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xe6, 0x51, 0xa4, 0xdb, 0x04, 0xf4, 0x04, 0xf4, 0x04, 0xf4, 0x04, 0xf4, 0x04, 0xf4, 0x04, 0xf4, 0x04, 0xf4, 0x25, 0xab, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xd2, 0x9c, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0x0f, 0x84, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xa7, 0x39, 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, 0x86, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xe6, 0x51, 0xa4, 0xdb, 0x04, 0xf4, 0x04, 0xf4, 0x04, 0xf4, 0x04, 0xf4, 0x04, 0xf4, 0x04, 0xf4, 0x04, 0xf4, 0x25, 0xab, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xd2, 0x9c, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0x0f, 0x84, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xa7, 0x39, 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, 0x00, 0x86, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xe6, 0x51, 0xa4, 0xdb, 0x04, 0xf4, 0x04, 0xf4, 0x04, 0xf4, 0x04, 0xf4, 0x04, 0xf4, 0x04, 0xf4, 0x04, 0xf4, 0x25, 0xab, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xd2, 0x9c, 0xfe, 0xff, 0x0f, 0x84, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xa7, 0x39, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x86, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xe6, 0x51, 0xa4, 0xdb, 0x04, 0xf4, 0x04, 0xf4, 0x04, 0xf4, 0x04, 0xf4, 0x04, 0xf4, 0x04, 0xf4, 0x04, 0xf4, 0x25, 0xab, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xcb, 0x62, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xa7, 0x39, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x86, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xe6, 0x51, 0xa4, 0xdb, 0x04, 0xf4, 0x04, 0xf4, 0x04, 0xf4, 0x04, 0xf4, 0x04, 0xf4, 0x04, 0xf4, 0x04, 0xf4, 0x25, 0xab, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xa7, 0x39, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x86, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xe6, 0x51, 0xa4, 0xdb, 0x04, 0xf4, 0x04, 0xf4, 0x04, 0xf4, 0x04, 0xf4, 0x04, 0xf4, 0x04, 0xf4, 0x04, 0xf4, 0x46, 0x6a, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xa7, 0x39, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x86, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xe6, 0x51, 0xa4, 0xdb, 0x04, 0xf4, 0x04, 0xf4, 0x04, 0xf4, 0x04, 0xf4, 0x04, 0xf4, 0x85, 0x82, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xa7, 0x39, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x86, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xe6, 0x51, 0xa4, 0xdb, 0x04, 0xf4, 0x04, 0xf4, 0x04, 0xf4, 0x85, 0x82, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xa7, 0x39, 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, 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, 0x86, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xe6, 0x51, 0xa4, 0xdb, 0x04, 0xf4, 0x85, 0x82, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xa7, 0x39, 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, 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, 0x86, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xe6, 0x51, 0x85, 0x82, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xa7, 0x39, 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, 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, 0x86, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xa7, 0x39, 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, 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, 0x86, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xa7, 0x39, 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, 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, 0x86, 0x39, 0xa6, 0x39, 0xa6, 0x39, 0xa7, 0x39, 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, 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, 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, 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, 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, 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, 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, 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, + 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, + 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, + 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, + 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, + 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, + 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, + 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, + 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, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 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, + 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, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 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, + 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, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 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, + 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, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0x34, + 0xad, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 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, + 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, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xf7, + 0xc5, + 0x5c, + 0xef, + 0x99, + 0xd6, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 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, + 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, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xf7, + 0xc5, + 0x5c, + 0xef, + 0x5c, + 0xef, + 0x5c, + 0xef, + 0x99, + 0xd6, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 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, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xf7, + 0xc5, + 0x5c, + 0xef, + 0x5c, + 0xef, + 0x5c, + 0xef, + 0x5c, + 0xef, + 0x5c, + 0xef, + 0x99, + 0xd6, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 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, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xf7, + 0xc5, + 0x5c, + 0xef, + 0x5c, + 0xef, + 0x5c, + 0xef, + 0x5c, + 0xef, + 0x5c, + 0xef, + 0x5c, + 0xef, + 0x5c, + 0xef, + 0x99, + 0xd6, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 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, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xf7, + 0xc5, + 0x5c, + 0xef, + 0x5c, + 0xef, + 0xf7, + 0xc5, + 0x34, + 0xad, + 0x5c, + 0xef, + 0x5c, + 0xef, + 0x5c, + 0xef, + 0x5c, + 0xef, + 0x5c, + 0xef, + 0x99, + 0xd6, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 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, + 0x00, + 0xa7, + 0x39, + 0xa6, + 0x39, + 0x86, + 0x39, + 0x00, + 0x00, + 0x00, + 0x00, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xf7, + 0xc5, + 0x5c, + 0xef, + 0x5c, + 0xef, + 0x34, + 0xad, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0x91, + 0x94, + 0x5c, + 0xef, + 0x5c, + 0xef, + 0x5c, + 0xef, + 0x5c, + 0xef, + 0x5c, + 0xef, + 0x99, + 0xd6, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 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, + 0xa7, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0x86, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xf7, + 0xc5, + 0x5c, + 0xef, + 0x5c, + 0xef, + 0x34, + 0xad, + 0xa6, + 0x39, + 0xe6, + 0x51, + 0x06, + 0x52, + 0xa6, + 0x39, + 0x91, + 0x94, + 0x5c, + 0xef, + 0x5c, + 0xef, + 0x5c, + 0xef, + 0x5c, + 0xef, + 0x5c, + 0xef, + 0x99, + 0xd6, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 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, + 0xa7, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xf7, + 0xc5, + 0x5c, + 0xef, + 0x5c, + 0xef, + 0x99, + 0xd6, + 0xa6, + 0x39, + 0xe6, + 0x51, + 0x25, + 0xab, + 0xa4, + 0xdb, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xf7, + 0xc5, + 0x5c, + 0xef, + 0x5c, + 0xef, + 0x5c, + 0xef, + 0x5c, + 0xef, + 0x5c, + 0xef, + 0x99, + 0xd6, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 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, + 0xa7, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xf7, + 0xc5, + 0x5c, + 0xef, + 0x5c, + 0xef, + 0x5c, + 0xef, + 0x5c, + 0xef, + 0x69, + 0x52, + 0xa6, + 0x39, + 0xc5, + 0x92, + 0x85, + 0x82, + 0xa6, + 0x39, + 0x69, + 0x52, + 0x5c, + 0xef, + 0x5c, + 0xef, + 0x5c, + 0xef, + 0x5c, + 0xef, + 0x5c, + 0xef, + 0x5c, + 0xef, + 0x5c, + 0xef, + 0x99, + 0xd6, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 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, + 0xa7, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0x0f, + 0x84, + 0xfe, + 0xff, + 0x08, + 0x42, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0x69, + 0x52, + 0x99, + 0xd6, + 0x5c, + 0xef, + 0x5c, + 0xef, + 0x5c, + 0xef, + 0x5c, + 0xef, + 0x5c, + 0xef, + 0x69, + 0x52, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0x69, + 0x52, + 0x5c, + 0xef, + 0x5c, + 0xef, + 0x99, + 0xd6, + 0xf7, + 0xc5, + 0x5c, + 0xef, + 0x5c, + 0xef, + 0x5c, + 0xef, + 0x5c, + 0xef, + 0x5c, + 0xef, + 0x99, + 0xd6, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 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, + 0xa7, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0x0f, + 0x84, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0x3b, + 0xef, + 0xe7, + 0x41, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0x69, + 0x52, + 0x99, + 0xd6, + 0x5c, + 0xef, + 0x5c, + 0xef, + 0x5c, + 0xef, + 0x5c, + 0xef, + 0x5c, + 0xef, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x5c, + 0xef, + 0x5c, + 0xef, + 0x99, + 0xd6, + 0x0c, + 0x63, + 0xa6, + 0x39, + 0x91, + 0x94, + 0x5c, + 0xef, + 0x5c, + 0xef, + 0x5c, + 0xef, + 0x5c, + 0xef, + 0x5c, + 0xef, + 0x99, + 0xd6, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 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, + 0xa7, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0x0f, + 0x84, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0x3b, + 0xef, + 0xe7, + 0x41, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0x69, + 0x52, + 0x99, + 0xd6, + 0x5c, + 0xef, + 0x5c, + 0xef, + 0x5c, + 0xef, + 0x5c, + 0xef, + 0x5c, + 0xef, + 0x5c, + 0xef, + 0x5c, + 0xef, + 0x99, + 0xd6, + 0x0c, + 0x63, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0x91, + 0x94, + 0x5c, + 0xef, + 0x5c, + 0xef, + 0x5c, + 0xef, + 0x5c, + 0xef, + 0x5c, + 0xef, + 0x34, + 0xad, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 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, + 0xa7, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0x0f, + 0x84, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0x3b, + 0xef, + 0xe7, + 0x41, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0x69, + 0x52, + 0x99, + 0xd6, + 0x5c, + 0xef, + 0x5c, + 0xef, + 0x5c, + 0xef, + 0x5c, + 0xef, + 0x5c, + 0xef, + 0x5c, + 0xef, + 0x0c, + 0x63, + 0xa6, + 0x39, + 0x85, + 0x82, + 0xa4, + 0xdb, + 0x06, + 0x52, + 0xa6, + 0x39, + 0x34, + 0xad, + 0x5c, + 0xef, + 0x5c, + 0xef, + 0x5c, + 0xef, + 0xf7, + 0xc5, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 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, + 0xa7, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0x0f, + 0x84, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0x3b, + 0xef, + 0xe7, + 0x41, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0x69, + 0x52, + 0x99, + 0xd6, + 0x5c, + 0xef, + 0x5c, + 0xef, + 0x5c, + 0xef, + 0x5c, + 0xef, + 0x5c, + 0xef, + 0x0c, + 0x63, + 0xa6, + 0x39, + 0x85, + 0x82, + 0xa4, + 0xdb, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xf7, + 0xc5, + 0x5c, + 0xef, + 0x5c, + 0xef, + 0xf7, + 0xc5, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 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, + 0xa7, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0x0f, + 0x84, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0x4c, + 0x6b, + 0x0f, + 0x84, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0x3b, + 0xef, + 0xe7, + 0x41, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0x69, + 0x52, + 0x99, + 0xd6, + 0x5c, + 0xef, + 0x5c, + 0xef, + 0x5c, + 0xef, + 0x5c, + 0xef, + 0x99, + 0xd6, + 0x0c, + 0x63, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0x34, + 0xad, + 0x5c, + 0xef, + 0x5c, + 0xef, + 0xf7, + 0xc5, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 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, + 0xa7, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0x0f, + 0x84, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0x95, + 0xb5, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0x69, + 0x52, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0x3b, + 0xef, + 0xe7, + 0x41, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0x69, + 0x52, + 0x99, + 0xd6, + 0x5c, + 0xef, + 0x5c, + 0xef, + 0x5c, + 0xef, + 0x5c, + 0xef, + 0x99, + 0xd6, + 0x0c, + 0x63, + 0xa6, + 0x39, + 0x34, + 0xad, + 0x5c, + 0xef, + 0x5c, + 0xef, + 0xf7, + 0xc5, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 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, + 0xa7, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0x0f, + 0x84, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0x3b, + 0xef, + 0x69, + 0x52, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0x69, + 0x52, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0x3b, + 0xef, + 0xe7, + 0x41, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0x69, + 0x52, + 0x99, + 0xd6, + 0x5c, + 0xef, + 0x5c, + 0xef, + 0x5c, + 0xef, + 0x5c, + 0xef, + 0x99, + 0xd6, + 0x99, + 0xd6, + 0x5c, + 0xef, + 0x5c, + 0xef, + 0xf7, + 0xc5, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 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, + 0xa7, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0x0f, + 0x84, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0x3b, + 0xef, + 0x69, + 0x52, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0x69, + 0x52, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0x3b, + 0xef, + 0xe7, + 0x41, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0x69, + 0x52, + 0x99, + 0xd6, + 0x5c, + 0xef, + 0x5c, + 0xef, + 0x5c, + 0xef, + 0x5c, + 0xef, + 0x5c, + 0xef, + 0x5c, + 0xef, + 0xf7, + 0xc5, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 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, + 0xa7, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0x0f, + 0x84, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0x3b, + 0xef, + 0x69, + 0x52, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0x69, + 0x52, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0x3b, + 0xef, + 0xe7, + 0x41, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0x69, + 0x52, + 0x99, + 0xd6, + 0x5c, + 0xef, + 0x5c, + 0xef, + 0x5c, + 0xef, + 0x5c, + 0xef, + 0xf7, + 0xc5, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 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, + 0xa7, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0x0f, + 0x84, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0x3b, + 0xef, + 0x69, + 0x52, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0x69, + 0x52, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0x3b, + 0xef, + 0xe7, + 0x41, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0x69, + 0x52, + 0x99, + 0xd6, + 0x5c, + 0xef, + 0x5c, + 0xef, + 0xf7, + 0xc5, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 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, + 0xa7, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0x0f, + 0x84, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xd2, + 0x9c, + 0x69, + 0x52, + 0xd2, + 0x9c, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0x3b, + 0xef, + 0x69, + 0x52, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0x69, + 0x52, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0x3b, + 0xef, + 0xe7, + 0x41, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0x69, + 0x52, + 0x99, + 0xd6, + 0xf7, + 0xc5, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 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, + 0xa7, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0x0f, + 0x84, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0x69, + 0x52, + 0xd2, + 0x9c, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0x3b, + 0xef, + 0x69, + 0x52, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0x69, + 0x52, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0x3b, + 0xef, + 0xe7, + 0x41, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0x69, + 0x52, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 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, + 0xa7, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0x0f, + 0x84, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xd2, + 0x9c, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0x69, + 0x52, + 0xd2, + 0x9c, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0x3b, + 0xef, + 0x69, + 0x52, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0x69, + 0x52, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0x3b, + 0xef, + 0xe7, + 0x41, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 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, + 0xa7, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0x0f, + 0x84, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xd2, + 0x9c, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0x69, + 0x52, + 0xd2, + 0x9c, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0x3b, + 0xef, + 0x69, + 0x52, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0x69, + 0x52, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0x3b, + 0xef, + 0xe7, + 0x41, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0x86, + 0x39, + 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, + 0xa7, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0x0f, + 0x84, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xd2, + 0x9c, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0x69, + 0x52, + 0xd2, + 0x9c, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0x3b, + 0xef, + 0x69, + 0x52, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0x4c, + 0x6b, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0x3b, + 0xef, + 0x08, + 0x42, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0x86, + 0x39, + 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, + 0xa7, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xcb, + 0x62, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xd2, + 0x9c, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0x69, + 0x52, + 0x95, + 0xb5, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0x3b, + 0xef, + 0x69, + 0x52, + 0xa6, + 0x39, + 0x0f, + 0x84, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 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, + 0xa7, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xd2, + 0x9c, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xd2, + 0x9c, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0x69, + 0x52, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0x3b, + 0xef, + 0x95, + 0xb5, + 0x3b, + 0xef, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0x0f, + 0x84, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0x86, + 0x39, + 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, + 0xa7, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0x46, + 0x6a, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xd2, + 0x9c, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xd2, + 0x9c, + 0xa6, + 0x39, + 0x0f, + 0x84, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0x0f, + 0x84, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa7, + 0x39, + 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, + 0xa7, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0x85, + 0x82, + 0x04, + 0xf4, + 0x25, + 0xab, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xd2, + 0x9c, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0x0f, + 0x84, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa7, + 0x39, + 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, + 0xa7, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0x85, + 0x82, + 0x04, + 0xf4, + 0x04, + 0xf4, + 0x04, + 0xf4, + 0x25, + 0xab, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xd2, + 0x9c, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0x0f, + 0x84, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa7, + 0x39, + 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, + 0xa7, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0x85, + 0x82, + 0x04, + 0xf4, + 0x04, + 0xf4, + 0x04, + 0xf4, + 0x04, + 0xf4, + 0x04, + 0xf4, + 0x25, + 0xab, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xd2, + 0x9c, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0x0f, + 0x84, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa7, + 0x39, + 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, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0x85, + 0x82, + 0x04, + 0xf4, + 0x04, + 0xf4, + 0x04, + 0xf4, + 0x04, + 0xf4, + 0x04, + 0xf4, + 0x04, + 0xf4, + 0x04, + 0xf4, + 0x25, + 0xab, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xd2, + 0x9c, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0x0f, + 0x84, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa7, + 0x39, + 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, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xe6, + 0x51, + 0xa4, + 0xdb, + 0x04, + 0xf4, + 0x04, + 0xf4, + 0x04, + 0xf4, + 0x04, + 0xf4, + 0x04, + 0xf4, + 0x04, + 0xf4, + 0x04, + 0xf4, + 0x25, + 0xab, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xd2, + 0x9c, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0x0f, + 0x84, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa7, + 0x39, + 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, + 0x86, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xe6, + 0x51, + 0xa4, + 0xdb, + 0x04, + 0xf4, + 0x04, + 0xf4, + 0x04, + 0xf4, + 0x04, + 0xf4, + 0x04, + 0xf4, + 0x04, + 0xf4, + 0x04, + 0xf4, + 0x25, + 0xab, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xd2, + 0x9c, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0x0f, + 0x84, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa7, + 0x39, + 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, + 0x86, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xe6, + 0x51, + 0xa4, + 0xdb, + 0x04, + 0xf4, + 0x04, + 0xf4, + 0x04, + 0xf4, + 0x04, + 0xf4, + 0x04, + 0xf4, + 0x04, + 0xf4, + 0x04, + 0xf4, + 0x25, + 0xab, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xd2, + 0x9c, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0x0f, + 0x84, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa7, + 0x39, + 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, + 0x86, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xe6, + 0x51, + 0xa4, + 0xdb, + 0x04, + 0xf4, + 0x04, + 0xf4, + 0x04, + 0xf4, + 0x04, + 0xf4, + 0x04, + 0xf4, + 0x04, + 0xf4, + 0x04, + 0xf4, + 0x25, + 0xab, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xd2, + 0x9c, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0x0f, + 0x84, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa7, + 0x39, + 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, + 0x86, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xe6, + 0x51, + 0xa4, + 0xdb, + 0x04, + 0xf4, + 0x04, + 0xf4, + 0x04, + 0xf4, + 0x04, + 0xf4, + 0x04, + 0xf4, + 0x04, + 0xf4, + 0x04, + 0xf4, + 0x25, + 0xab, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xd2, + 0x9c, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0x0f, + 0x84, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa7, + 0x39, + 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, + 0x86, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xe6, + 0x51, + 0xa4, + 0xdb, + 0x04, + 0xf4, + 0x04, + 0xf4, + 0x04, + 0xf4, + 0x04, + 0xf4, + 0x04, + 0xf4, + 0x04, + 0xf4, + 0x04, + 0xf4, + 0x25, + 0xab, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xd2, + 0x9c, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0x0f, + 0x84, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa7, + 0x39, + 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, + 0x86, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xe6, + 0x51, + 0xa4, + 0xdb, + 0x04, + 0xf4, + 0x04, + 0xf4, + 0x04, + 0xf4, + 0x04, + 0xf4, + 0x04, + 0xf4, + 0x04, + 0xf4, + 0x04, + 0xf4, + 0x25, + 0xab, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xd2, + 0x9c, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0x0f, + 0x84, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa7, + 0x39, + 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, + 0x86, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xe6, + 0x51, + 0xa4, + 0xdb, + 0x04, + 0xf4, + 0x04, + 0xf4, + 0x04, + 0xf4, + 0x04, + 0xf4, + 0x04, + 0xf4, + 0x04, + 0xf4, + 0x04, + 0xf4, + 0x25, + 0xab, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xd2, + 0x9c, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0x0f, + 0x84, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa7, + 0x39, + 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, + 0x86, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xe6, + 0x51, + 0xa4, + 0xdb, + 0x04, + 0xf4, + 0x04, + 0xf4, + 0x04, + 0xf4, + 0x04, + 0xf4, + 0x04, + 0xf4, + 0x04, + 0xf4, + 0x04, + 0xf4, + 0x25, + 0xab, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xd2, + 0x9c, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0xfe, + 0xff, + 0x0f, + 0x84, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa7, + 0x39, + 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, + 0x00, + 0x86, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xe6, + 0x51, + 0xa4, + 0xdb, + 0x04, + 0xf4, + 0x04, + 0xf4, + 0x04, + 0xf4, + 0x04, + 0xf4, + 0x04, + 0xf4, + 0x04, + 0xf4, + 0x04, + 0xf4, + 0x25, + 0xab, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xd2, + 0x9c, + 0xfe, + 0xff, + 0x0f, + 0x84, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa7, + 0x39, + 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, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x86, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xe6, + 0x51, + 0xa4, + 0xdb, + 0x04, + 0xf4, + 0x04, + 0xf4, + 0x04, + 0xf4, + 0x04, + 0xf4, + 0x04, + 0xf4, + 0x04, + 0xf4, + 0x04, + 0xf4, + 0x25, + 0xab, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xcb, + 0x62, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa7, + 0x39, + 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, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x86, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xe6, + 0x51, + 0xa4, + 0xdb, + 0x04, + 0xf4, + 0x04, + 0xf4, + 0x04, + 0xf4, + 0x04, + 0xf4, + 0x04, + 0xf4, + 0x04, + 0xf4, + 0x04, + 0xf4, + 0x25, + 0xab, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa7, + 0x39, + 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, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x86, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xe6, + 0x51, + 0xa4, + 0xdb, + 0x04, + 0xf4, + 0x04, + 0xf4, + 0x04, + 0xf4, + 0x04, + 0xf4, + 0x04, + 0xf4, + 0x04, + 0xf4, + 0x04, + 0xf4, + 0x46, + 0x6a, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa7, + 0x39, + 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, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x86, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xe6, + 0x51, + 0xa4, + 0xdb, + 0x04, + 0xf4, + 0x04, + 0xf4, + 0x04, + 0xf4, + 0x04, + 0xf4, + 0x04, + 0xf4, + 0x85, + 0x82, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa7, + 0x39, + 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, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x86, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xe6, + 0x51, + 0xa4, + 0xdb, + 0x04, + 0xf4, + 0x04, + 0xf4, + 0x04, + 0xf4, + 0x85, + 0x82, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa7, + 0x39, + 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, + 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, + 0x86, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xe6, + 0x51, + 0xa4, + 0xdb, + 0x04, + 0xf4, + 0x85, + 0x82, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa7, + 0x39, + 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, + 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, + 0x86, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xe6, + 0x51, + 0x85, + 0x82, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa7, + 0x39, + 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, + 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, + 0x86, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa7, + 0x39, + 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, + 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, + 0x86, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa7, + 0x39, + 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, + 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, + 0x86, + 0x39, + 0xa6, + 0x39, + 0xa6, + 0x39, + 0xa7, + 0x39, + 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, + 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, + 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, + 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, + 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, + 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, + 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, + 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, 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, 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, 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, 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, 0x7f, 0xdf, 0x7f, 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, 0x9f, 0xff, 0xff, 0xff, 0x7f, 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, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 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, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 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, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 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, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 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, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 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, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 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, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 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, 0x40, 0x60, 0x20, 0x00, 0x00, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 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, 0x40, 0xff, 0xff, 0xdf, 0x20, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 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, 0x40, 0xff, 0xff, 0xff, 0xff, 0xf3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 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, 0x40, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 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, 0x40, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 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, 0x40, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 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, 0x40, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 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, 0x40, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 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, 0x40, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9f, 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, 0x40, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9f, 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, 0x40, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9f, 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, 0x40, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9f, 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, 0x40, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9f, 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, 0x40, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9f, 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, 0x40, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9f, 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, 0x40, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9f, 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, 0x40, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9f, 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, 0x40, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9f, 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, 0x40, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x70, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x20, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x40, 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, 0x20, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x40, 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, 0x20, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x40, 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, 0x20, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x40, 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, 0x20, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x40, 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, 0x20, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x40, 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, 0x20, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x40, 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, 0x20, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x40, 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, 0x20, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x40, 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, 0x20, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x40, 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, 0x20, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x40, 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, 0x20, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x40, 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, 0x20, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x70, 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, 0x20, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x70, 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, 0x20, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x70, 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, 0x20, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x70, 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, 0x20, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0x70, 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, 0x20, 0xf7, 0xff, 0xff, 0xff, 0x70, 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, 0x20, 0xe7, 0xff, 0x70, 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, 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, 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, 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, + 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, + 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, + 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, + 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, + 0x7f, + 0xdf, + 0x7f, + 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, + 0x9f, + 0xff, + 0xff, + 0xff, + 0x7f, + 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, + 0x9f, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x7f, + 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, + 0x9f, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x7f, + 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, + 0x9f, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x7f, + 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, + 0x9f, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x7f, + 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, + 0x9f, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x7f, + 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, + 0x9f, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x7f, + 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, + 0x9f, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x7f, + 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, + 0x40, + 0x60, + 0x20, + 0x00, + 0x00, + 0x9f, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x7f, + 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, + 0x40, + 0xff, + 0xff, + 0xdf, + 0x20, + 0x9f, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x7f, + 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, + 0x40, + 0xff, + 0xff, + 0xff, + 0xff, + 0xf3, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x7f, + 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, + 0x40, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x7f, + 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, + 0x40, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x7f, + 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, + 0x40, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x7f, + 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, + 0x40, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xdf, + 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, + 0x40, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x7f, + 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, + 0x40, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x9f, + 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, + 0x40, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x9f, + 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, + 0x40, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x9f, + 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, + 0x40, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x9f, + 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, + 0x40, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x9f, + 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, + 0x40, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x9f, + 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, + 0x40, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x9f, + 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, + 0x40, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x9f, + 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, + 0x40, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x9f, + 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, + 0x40, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x9f, + 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, + 0x40, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xf3, + 0x20, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x70, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xdf, + 0x20, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x70, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x60, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x70, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x20, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x70, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x40, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x70, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x40, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x70, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x40, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x70, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x40, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xfb, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x40, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xef, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x40, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x20, + 0xf7, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x40, + 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, + 0x20, + 0xf7, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x40, + 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, + 0x20, + 0xf7, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x40, + 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, + 0x20, + 0xf7, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x40, + 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, + 0x20, + 0xf7, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x40, + 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, + 0x20, + 0xf7, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x40, + 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, + 0x20, + 0xf7, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x40, + 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, + 0x20, + 0xf7, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x40, + 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, + 0x20, + 0xf7, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x40, + 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, + 0x20, + 0xf7, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x40, + 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, + 0x20, + 0xf7, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x40, + 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, + 0x20, + 0xf7, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x40, + 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, + 0x20, + 0xf7, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x70, + 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, + 0x20, + 0xf7, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x70, + 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, + 0x20, + 0xf7, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x70, + 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, + 0x20, + 0xf7, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x70, + 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, + 0x20, + 0xf7, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x70, + 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, + 0x20, + 0xf7, + 0xff, + 0xff, + 0xff, + 0x70, + 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, + 0x20, + 0xe7, + 0xff, + 0x70, + 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, + 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, + 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, + 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, }; const lv_image_dsc_t img_usb = { - .header.magic = LV_IMAGE_HEADER_MAGIC, - .header.cf = LV_COLOR_FORMAT_RGB565A8, - .header.flags = 0, - .header.w = 64, - .header.h = 64, - .header.stride = 128, - .data_size = sizeof(img_usb_map), - .data = img_usb_map, + .header.magic = LV_IMAGE_HEADER_MAGIC, + .header.cf = LV_COLOR_FORMAT_RGB565A8, + .header.flags = 0, + .header.w = 64, + .header.h = 64, + .header.stride = 128, + .data_size = sizeof(img_usb_map), + .data = img_usb_map, }; diff --git a/src/ui/assets/room-24px.c b/src/ui/assets/room-24px.c index b6c3bafb..26695d0d 100644 --- a/src/ui/assets/room-24px.c +++ b/src/ui/assets/room-24px.c @@ -1,18 +1,17 @@ #ifdef __has_include - #if __has_include("lvgl.h") - #ifndef LV_LVGL_H_INCLUDE_SIMPLE - #define LV_LVGL_H_INCLUDE_SIMPLE - #endif - #endif +#if __has_include("lvgl.h") +#ifndef LV_LVGL_H_INCLUDE_SIMPLE +#define LV_LVGL_H_INCLUDE_SIMPLE +#endif +#endif #endif #if defined(LV_LVGL_H_INCLUDE_SIMPLE) - #include "lvgl.h" +#include "lvgl.h" #else - #include "lvgl/lvgl.h" +#include "lvgl/lvgl.h" #endif - #ifndef LV_ATTRIBUTE_MEM_ALIGN #define LV_ATTRIBUTE_MEM_ALIGN #endif @@ -22,64 +21,1744 @@ #endif const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMAGE_ROOM_24PX uint8_t room_24px_map[] = { - 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, + 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, + 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, + 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, + 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, + 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, + 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, + 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, + 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, + 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, + 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, + 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, + 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, + 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, + 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, + 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, 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, 0x7f, 0x9f, 0xdf, 0xdf, 0xbf, 0x60, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9f, 0x9f, 0xdf, 0xff, 0xff, 0xff, 0xff, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0xbf, 0xff, 0xff, 0xff, 0xdf, 0x20, 0x00, 0x00, 0x20, 0xdf, 0xff, 0xff, 0xff, 0x9f, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x9f, 0xff, 0xff, 0xff, 0xdf, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0xdf, 0xff, 0xff, 0xff, 0x9f, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xdf, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0xbf, 0xff, 0xff, 0xff, 0xff, 0x20, 0x00, 0x00, 0x20, 0xff, 0xff, 0xff, 0xff, 0xdf, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xbf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0xdf, 0xff, 0xff, 0xdf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0xdf, 0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0x60, 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, + 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, + 0x7f, + 0x9f, + 0xdf, + 0xdf, + 0xbf, + 0x60, + 0x20, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x40, + 0xdf, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xdf, + 0x40, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x40, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x20, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xdf, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xdf, + 0x20, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x7f, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x9f, + 0x9f, + 0xdf, + 0xff, + 0xff, + 0xff, + 0xff, + 0x60, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xbf, + 0xff, + 0xff, + 0xff, + 0xdf, + 0x20, + 0x00, + 0x00, + 0x20, + 0xdf, + 0xff, + 0xff, + 0xff, + 0x9f, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xff, + 0xff, + 0xff, + 0xff, + 0x7f, + 0x00, + 0x00, + 0x00, + 0x00, + 0x9f, + 0xff, + 0xff, + 0xff, + 0xdf, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xdf, + 0xff, + 0xff, + 0xff, + 0x9f, + 0x00, + 0x00, + 0x00, + 0x00, + 0x7f, + 0xff, + 0xff, + 0xff, + 0xdf, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xbf, + 0xff, + 0xff, + 0xff, + 0xff, + 0x20, + 0x00, + 0x00, + 0x20, + 0xff, + 0xff, + 0xff, + 0xff, + 0xdf, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x7f, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x7f, + 0x9f, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x7f, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x40, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x20, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xdf, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xdf, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x40, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x40, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xdf, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xbf, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x20, + 0xdf, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x20, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x7f, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x7f, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xdf, + 0xff, + 0xff, + 0xff, + 0xff, + 0xbf, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x20, + 0xdf, + 0xff, + 0xff, + 0xdf, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x60, + 0xdf, + 0xff, + 0x40, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x7f, + 0x60, + 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, }; const lv_image_dsc_t room_24px = { - .header.magic = LV_IMAGE_HEADER_MAGIC, - .header.cf = LV_COLOR_FORMAT_RGB565A8, - .header.flags = 0, - .header.w = 24, - .header.h = 24, - .header.stride = 48, - .data_size = sizeof(room_24px_map), - .data = room_24px_map, + .header.magic = LV_IMAGE_HEADER_MAGIC, + .header.cf = LV_COLOR_FORMAT_RGB565A8, + .header.flags = 0, + .header.w = 24, + .header.h = 24, + .header.stride = 48, + .data_size = sizeof(room_24px_map), + .data = room_24px_map, }; diff --git a/src/ui/assets/shutdown.c b/src/ui/assets/shutdown.c index 763fb2bd..c21abbf8 100644 --- a/src/ui/assets/shutdown.c +++ b/src/ui/assets/shutdown.c @@ -1,18 +1,17 @@ #ifdef __has_include - #if __has_include("lvgl.h") - #ifndef LV_LVGL_H_INCLUDE_SIMPLE - #define LV_LVGL_H_INCLUDE_SIMPLE - #endif - #endif +#if __has_include("lvgl.h") +#ifndef LV_LVGL_H_INCLUDE_SIMPLE +#define LV_LVGL_H_INCLUDE_SIMPLE +#endif +#endif #endif #if defined(LV_LVGL_H_INCLUDE_SIMPLE) - #include "lvgl.h" +#include "lvgl.h" #else - #include "lvgl/lvgl.h" +#include "lvgl/lvgl.h" #endif - #ifndef LV_ATTRIBUTE_MEM_ALIGN #define LV_ATTRIBUTE_MEM_ALIGN #endif @@ -22,144 +21,12304 @@ #endif const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMAGE_SHUTDOWN uint8_t shutdown_map[] = { - 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, 0xc5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xc5, 0xfd, 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, 0x00, 0x00, 0x00, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 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, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 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, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 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, 0xc5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xc5, 0xfd, 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, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 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, 0xc5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 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, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xc5, 0xfd, 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, 0xc5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 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, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xc5, 0xfd, 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, 0xc5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 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, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 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, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 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, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 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, 0xc5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 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, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 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, 0xc5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 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, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 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, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 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, 0xc5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 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, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xc5, 0xfd, 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, 0xc5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xc5, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 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, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 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, 0xc5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xc5, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xc5, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xc5, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xc5, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0x00, 0x00, - 0x00, 0x00, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0x00, 0x00, - 0x00, 0x00, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0x00, 0x00, - 0x00, 0x00, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xc5, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0x00, 0x00, - 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, - 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xc5, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xc5, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, - 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, - 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xc5, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xc5, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, - 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, - 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xc5, 0xfd, 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, 0xc5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, - 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 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, 0xc5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, - 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 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, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, - 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 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, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, - 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xc5, 0xfd, 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, 0xc5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, - 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 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, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, - 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 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, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xc5, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, - 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 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, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, - 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 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, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, - 0xc5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 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, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xc5, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0x00, 0x00, - 0x00, 0x00, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 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, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0x00, 0x00, - 0x00, 0x00, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 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, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xc5, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0x00, 0x00, - 0x00, 0x00, 0xc5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xc5, 0xfd, 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, 0xc5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xc5, 0xfd, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xc5, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 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, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 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, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0xc5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xc5, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xc5, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xc5, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xc5, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 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, 0xc5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xc5, 0xfd, 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, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 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, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xc5, 0xfd, 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, 0xc5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 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, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xc5, 0xfd, 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, 0xc5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 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, 0xc5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 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, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 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, 0xc5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 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, 0xc5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 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, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xc5, 0xfd, 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, 0xc5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 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, 0xc5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 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, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 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, 0xc5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 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, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 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, 0xc5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 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, 0xc5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 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, 0x00, 0x00, 0x00, 0xc5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 0xa5, 0xfd, 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, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xc5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 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, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xc5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xc5, + 0xfd, + 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, + 0x00, + 0x00, + 0x00, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 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, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 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, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 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, + 0xc5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xc5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xc5, + 0xfd, + 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, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 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, + 0xc5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 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, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xc5, + 0xfd, + 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, + 0xc5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 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, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xc5, + 0xfd, + 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, + 0xc5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 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, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 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, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 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, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 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, + 0xc5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 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, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 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, + 0xc5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 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, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 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, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 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, + 0xc5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xc5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 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, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xc5, + 0xfd, + 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, + 0xc5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xc5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 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, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 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, + 0xc5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xc5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xc5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xc5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xc5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xc5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xc5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xc5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xc5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xc5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xc5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xc5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xc5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xc5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xc5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xc5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0x00, + 0x00, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xc5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xc5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xc5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xc5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xc5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xc5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xc5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xc5, + 0xfd, + 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, + 0xc5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 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, + 0xc5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 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, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 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, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xc5, + 0xfd, + 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, + 0xc5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 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, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xc5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 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, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xc5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 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, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 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, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xc5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xc5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 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, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xc5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 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, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xc5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 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, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xc5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0xc5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xc5, + 0xfd, + 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, + 0xc5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xc5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xc5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xc5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 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, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xc5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xc5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 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, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xc5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xc5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xc5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xc5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xc5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xc5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xc5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xc5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xc5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xc5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xc5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xc5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xc5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xc5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xc5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 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, + 0xc5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xc5, + 0xfd, + 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, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 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, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xc5, + 0xfd, + 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, + 0xc5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 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, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xc5, + 0xfd, + 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, + 0xc5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 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, + 0xc5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 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, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 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, + 0xc5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 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, + 0xc5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 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, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xc5, + 0xfd, + 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, + 0xc5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 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, + 0xc5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 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, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 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, + 0xc5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xc5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 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, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 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, + 0xc5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 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, + 0xc5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 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, + 0x00, + 0x00, + 0x00, + 0xc5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 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, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xc5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 0xa5, + 0xfd, + 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, 0x20, 0x60, 0x7f, 0x7f, 0x9f, 0xbf, 0xdf, 0xff, 0xdf, 0xdf, 0xbf, 0x9f, 0x9f, 0x60, 0x60, 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, 0x20, 0x7f, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xbf, 0x60, 0x20, 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, 0x7f, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0x7f, 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, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0x7f, 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, 0x40, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xdf, 0xbf, 0x9f, 0x7f, 0x9f, 0x9f, 0xbf, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0x60, 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, 0x20, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xbf, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x60, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0x20, 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, 0x40, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x40, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 0x20, 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, 0x20, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x40, 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, 0x40, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0x40, 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, 0x20, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 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, 0x20, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0xff, 0xdf, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xdf, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xdf, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xdf, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xdf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xff, 0xff, 0xff, 0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xbf, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x40, 0xff, 0xff, 0xff, 0xff, 0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xff, 0xff, 0x9f, 0x00, 0x00, 0x00, 0x00, 0x40, 0xff, 0xff, 0xff, 0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0x9f, 0xff, 0xdf, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0xff, 0xff, 0xff, 0xff, 0xff, 0x40, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0xbf, 0xff, 0xff, 0xff, 0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x40, 0xff, 0xff, 0xff, 0xff, 0x40, 0x00, 0x00, 0x00, 0x60, 0xff, 0xff, 0xff, 0xdf, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0xff, 0xff, 0xff, 0xff, 0xdf, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x60, 0xff, 0xff, 0xff, 0xff, 0xbf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x40, 0xff, 0xff, 0xff, 0xff, 0x40, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbf, 0xff, 0xff, 0xff, 0xff, 0x60, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0xdf, 0xff, 0xff, 0xff, 0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0x20, 0x00, 0x00, 0x00, 0x40, 0xff, 0xff, 0xff, 0xff, 0x40, 0x00, 0x00, 0x00, 0x20, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0xff, 0xff, 0xff, 0xff, 0xdf, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x60, 0xff, 0xff, 0xff, 0xff, 0x9f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0x20, 0x00, 0x00, 0x00, 0x00, 0x40, 0xff, 0xff, 0xff, 0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0x20, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9f, 0xff, 0xff, 0xff, 0xff, 0x60, 0x00, 0x00, - 0x00, 0x00, 0xbf, 0xff, 0xff, 0xff, 0xff, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xff, 0xff, 0xff, 0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0xff, 0xff, 0xff, 0xff, 0xbf, 0x00, 0x00, - 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x9f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xff, 0xff, 0xff, 0xff, 0xff, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xff, 0xff, 0xff, 0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9f, 0xff, 0xff, 0xff, 0xff, 0x40, 0x00, - 0x00, 0x60, 0xff, 0xff, 0xff, 0xff, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xff, 0xff, 0xff, 0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xdf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xff, 0xff, 0xff, 0xff, 0x60, 0x00, - 0x00, 0x9f, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0xff, 0xff, 0xff, 0xff, 0xbf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xff, 0xff, 0xff, 0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0xbf, 0xff, 0xff, 0xff, 0xff, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0xff, 0xff, 0xff, 0xff, 0xbf, 0x00, - 0x00, 0xff, 0xff, 0xff, 0xff, 0x9f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdf, 0xff, 0xff, 0xff, 0xff, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xff, 0xff, 0xff, 0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0xff, 0xff, 0xff, 0xff, 0xdf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbf, 0xff, 0xff, 0xff, 0xdf, 0x00, - 0x60, 0xff, 0xff, 0xff, 0xff, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xff, 0xff, 0xff, 0xff, 0x9f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xff, 0xff, 0xff, 0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9f, 0xff, 0xff, 0xff, 0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xff, 0xff, 0xff, 0xff, 0x40, - 0x60, 0xff, 0xff, 0xff, 0xff, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9f, 0xff, 0xff, 0xff, 0xff, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xff, 0xff, 0xff, 0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0xff, 0xff, 0xff, 0xff, 0xbf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0xff, 0xff, 0xff, 0xff, 0x7f, - 0x9f, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x9f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xff, 0xff, 0xff, 0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbf, 0xff, 0xff, 0xff, 0xdf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x7f, - 0x9f, 0xff, 0xff, 0xff, 0xdf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0xdf, 0xff, 0xff, 0xff, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0xff, 0xff, 0xff, 0xff, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdf, 0xff, 0xff, 0xff, 0xbf, - 0xbf, 0xff, 0xff, 0xff, 0xbf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xff, 0xff, 0xff, 0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xbf, 0xdf, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xff, 0xff, 0xff, 0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbf, 0xff, 0xff, 0xff, 0xbf, - 0xdf, 0xff, 0xff, 0xff, 0x9f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0xff, 0xff, 0xff, 0xff, 0x20, 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, 0x20, 0xff, 0xff, 0xff, 0xff, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9f, 0xff, 0xff, 0xff, 0xdf, - 0xff, 0xff, 0xff, 0xff, 0x9f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 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, 0x20, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xdf, - 0xff, 0xff, 0xff, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xdf, 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, 0xff, 0xff, 0xff, 0xff, 0x9f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9f, 0xff, 0xff, 0xff, 0xff, - 0xdf, 0xff, 0xff, 0xff, 0xbf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 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, 0xff, 0xff, 0xff, 0xff, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9f, 0xff, 0xff, 0xff, 0xdf, - 0xbf, 0xff, 0xff, 0xff, 0xbf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xff, 0xff, 0xff, 0xff, 0x20, 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, 0x20, 0xff, 0xff, 0xff, 0xff, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbf, 0xff, 0xff, 0xff, 0xbf, - 0x9f, 0xff, 0xff, 0xff, 0xdf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xff, 0xff, 0xff, 0xff, 0x40, 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, 0x60, 0xff, 0xff, 0xff, 0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdf, 0xff, 0xff, 0xff, 0x9f, - 0x7f, 0xff, 0xff, 0xff, 0xdf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0xff, 0xff, 0xff, 0xff, 0xbf, 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, 0x9f, 0xff, 0xff, 0xff, 0xff, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdf, 0xff, 0xff, 0xff, 0x9f, - 0x7f, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbf, 0xff, 0xff, 0xff, 0xdf, 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, 0xdf, 0xff, 0xff, 0xff, 0x9f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x60, - 0x40, 0xff, 0xff, 0xff, 0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x60, 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, 0x60, 0xff, 0xff, 0xff, 0xff, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0xff, 0xff, 0xff, 0xff, 0x60, - 0x20, 0xff, 0xff, 0xff, 0xff, 0xbf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0xff, 0xff, 0xff, 0xff, 0xdf, 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, 0xdf, 0xff, 0xff, 0xff, 0xff, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9f, 0xff, 0xff, 0xff, 0xff, 0x00, - 0x00, 0xbf, 0xff, 0xff, 0xff, 0xdf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9f, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x9f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x9f, 0x00, - 0x00, 0x60, 0xff, 0xff, 0xff, 0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0xff, 0xff, 0xff, 0xff, 0xdf, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xff, 0xff, 0xff, 0xff, 0xff, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0xff, 0xff, 0xff, 0xff, 0x60, 0x00, - 0x00, 0x20, 0xff, 0xff, 0xff, 0xff, 0x9f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xdf, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9f, 0xff, 0xff, 0xff, 0xff, 0x20, 0x00, - 0x00, 0x00, 0xbf, 0xff, 0xff, 0xff, 0xdf, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xdf, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0xff, 0xff, 0xff, 0xff, 0x9f, 0x00, 0x00, - 0x00, 0x00, 0x60, 0xff, 0xff, 0xff, 0xff, 0x9f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9f, 0xff, 0xff, 0xff, 0xff, 0x60, 0x00, 0x00, - 0x00, 0x00, 0x20, 0xdf, 0xff, 0xff, 0xff, 0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xff, 0xff, 0xff, 0xff, 0xdf, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x60, 0xff, 0xff, 0xff, 0xff, 0xbf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0x7f, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x7f, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbf, 0xff, 0xff, 0xff, 0xff, 0x60, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x20, 0xbf, 0xff, 0xff, 0xff, 0xff, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xdf, 0xbf, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xff, 0xff, 0xff, 0xff, 0xbf, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x40, 0xff, 0xff, 0xff, 0xff, 0xdf, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0xff, 0xff, 0xff, 0xff, 0xff, 0x40, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xdf, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xbf, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xdf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x9f, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0x7f, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xdf, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x60, 0x7f, 0x9f, 0xbf, 0xbf, 0x9f, 0x7f, 0x7f, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0x20, 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, 0x20, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0x20, 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, 0x20, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0x7f, 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, 0x40, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 0x40, 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, 0x20, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0x9f, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0x9f, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0x40, 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, 0x20, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0x9f, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x7f, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 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, 0x60, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xdf, 0xbf, 0x9f, 0x9f, 0x7f, 0x9f, 0xbf, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0x40, 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, 0x20, 0x60, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0x7f, 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, 0x20, 0x7f, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0x7f, 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, 0x20, 0x60, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 0x7f, 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, 0x20, 0x60, 0x60, 0x9f, 0x9f, 0xbf, 0xdf, 0xff, 0xdf, 0xdf, 0xbf, 0x9f, 0x7f, 0x7f, 0x60, 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, + 0x20, + 0x60, + 0x7f, + 0x7f, + 0x9f, + 0xbf, + 0xdf, + 0xff, + 0xdf, + 0xdf, + 0xbf, + 0x9f, + 0x9f, + 0x60, + 0x60, + 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, + 0x20, + 0x7f, + 0xbf, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xdf, + 0xbf, + 0x60, + 0x20, + 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, + 0x7f, + 0xbf, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xdf, + 0x7f, + 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, + 0x7f, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xdf, + 0x7f, + 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, + 0x40, + 0xdf, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xdf, + 0xdf, + 0xbf, + 0x9f, + 0x7f, + 0x9f, + 0x9f, + 0xbf, + 0xdf, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xdf, + 0x60, + 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, + 0x20, + 0xbf, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xdf, + 0xbf, + 0x7f, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x20, + 0x60, + 0x9f, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xdf, + 0x20, + 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, + 0x40, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x7f, + 0x40, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x20, + 0x40, + 0x9f, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xdf, + 0x40, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x60, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x7f, + 0x20, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x20, + 0x7f, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xdf, + 0x7f, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x7f, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xbf, + 0x20, + 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, + 0x20, + 0x9f, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x7f, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xbf, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x40, + 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, + 0x40, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x9f, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x9f, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xdf, + 0x40, + 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, + 0x20, + 0xdf, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x7f, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x40, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xbf, + 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, + 0x20, + 0x9f, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x7f, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x40, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xbf, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x60, + 0xff, + 0xdf, + 0x7f, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x20, + 0x7f, + 0xff, + 0xff, + 0xff, + 0xff, + 0xdf, + 0x40, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x20, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xbf, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xff, + 0xff, + 0xff, + 0xdf, + 0x20, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x20, + 0xbf, + 0xff, + 0xff, + 0xff, + 0xff, + 0xdf, + 0x20, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xbf, + 0xff, + 0xff, + 0xff, + 0xff, + 0xdf, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x40, + 0xff, + 0xff, + 0xff, + 0xff, + 0x40, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x20, + 0xdf, + 0xff, + 0xff, + 0xff, + 0xff, + 0xbf, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x40, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x40, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x40, + 0xff, + 0xff, + 0x9f, + 0x00, + 0x00, + 0x00, + 0x00, + 0x40, + 0xff, + 0xff, + 0xff, + 0xff, + 0x40, + 0x00, + 0x00, + 0x00, + 0x00, + 0x9f, + 0xff, + 0xdf, + 0x60, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x20, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x40, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xbf, + 0xff, + 0xff, + 0xff, + 0xff, + 0x40, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x7f, + 0xff, + 0xff, + 0xff, + 0xff, + 0x7f, + 0x00, + 0x00, + 0x00, + 0x40, + 0xff, + 0xff, + 0xff, + 0xff, + 0x40, + 0x00, + 0x00, + 0x00, + 0x60, + 0xff, + 0xff, + 0xff, + 0xdf, + 0x7f, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x60, + 0xff, + 0xff, + 0xff, + 0xff, + 0xdf, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x60, + 0xff, + 0xff, + 0xff, + 0xff, + 0xbf, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x20, + 0xbf, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x7f, + 0x00, + 0x00, + 0x00, + 0x40, + 0xff, + 0xff, + 0xff, + 0xff, + 0x40, + 0x00, + 0x00, + 0x00, + 0x7f, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xbf, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xbf, + 0xff, + 0xff, + 0xff, + 0xff, + 0x60, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xdf, + 0xff, + 0xff, + 0xff, + 0xff, + 0x40, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xbf, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xdf, + 0x20, + 0x00, + 0x00, + 0x00, + 0x40, + 0xff, + 0xff, + 0xff, + 0xff, + 0x40, + 0x00, + 0x00, + 0x00, + 0x20, + 0xdf, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xdf, + 0x20, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x20, + 0xff, + 0xff, + 0xff, + 0xff, + 0xdf, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x60, + 0xff, + 0xff, + 0xff, + 0xff, + 0x9f, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xbf, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xdf, + 0x20, + 0x00, + 0x00, + 0x00, + 0x00, + 0x40, + 0xff, + 0xff, + 0xff, + 0xff, + 0x40, + 0x00, + 0x00, + 0x00, + 0x00, + 0x20, + 0xdf, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xbf, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x9f, + 0xff, + 0xff, + 0xff, + 0xff, + 0x60, + 0x00, + 0x00, + 0x00, + 0x00, + 0xbf, + 0xff, + 0xff, + 0xff, + 0xff, + 0x20, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x7f, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x9f, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x40, + 0xff, + 0xff, + 0xff, + 0xff, + 0x40, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x20, + 0x7f, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x7f, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x20, + 0xff, + 0xff, + 0xff, + 0xff, + 0xbf, + 0x00, + 0x00, + 0x00, + 0x00, + 0xff, + 0xff, + 0xff, + 0xff, + 0x9f, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x40, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x60, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x40, + 0xff, + 0xff, + 0xff, + 0xff, + 0x40, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x7f, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x60, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x9f, + 0xff, + 0xff, + 0xff, + 0xff, + 0x40, + 0x00, + 0x00, + 0x60, + 0xff, + 0xff, + 0xff, + 0xff, + 0x60, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x7f, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x40, + 0xff, + 0xff, + 0xff, + 0xff, + 0x40, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x7f, + 0xff, + 0xff, + 0xff, + 0xff, + 0xdf, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x40, + 0xff, + 0xff, + 0xff, + 0xff, + 0x60, + 0x00, + 0x00, + 0x9f, + 0xff, + 0xff, + 0xff, + 0xff, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x60, + 0xff, + 0xff, + 0xff, + 0xff, + 0xbf, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x40, + 0xff, + 0xff, + 0xff, + 0xff, + 0x40, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x20, + 0xbf, + 0xff, + 0xff, + 0xff, + 0xff, + 0x60, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x20, + 0xff, + 0xff, + 0xff, + 0xff, + 0xbf, + 0x00, + 0x00, + 0xff, + 0xff, + 0xff, + 0xff, + 0x9f, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xdf, + 0xff, + 0xff, + 0xff, + 0xff, + 0x20, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x40, + 0xff, + 0xff, + 0xff, + 0xff, + 0x40, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x20, + 0xff, + 0xff, + 0xff, + 0xff, + 0xdf, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xbf, + 0xff, + 0xff, + 0xff, + 0xdf, + 0x00, + 0x60, + 0xff, + 0xff, + 0xff, + 0xff, + 0x60, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x40, + 0xff, + 0xff, + 0xff, + 0xff, + 0x9f, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x40, + 0xff, + 0xff, + 0xff, + 0xff, + 0x40, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x9f, + 0xff, + 0xff, + 0xff, + 0xff, + 0x40, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x40, + 0xff, + 0xff, + 0xff, + 0xff, + 0x40, + 0x60, + 0xff, + 0xff, + 0xff, + 0xff, + 0x20, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x9f, + 0xff, + 0xff, + 0xff, + 0xff, + 0x20, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x40, + 0xff, + 0xff, + 0xff, + 0xff, + 0x40, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x20, + 0xff, + 0xff, + 0xff, + 0xff, + 0xbf, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x20, + 0xff, + 0xff, + 0xff, + 0xff, + 0x7f, + 0x9f, + 0xff, + 0xff, + 0xff, + 0xff, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xff, + 0xff, + 0xff, + 0xff, + 0x9f, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x40, + 0xff, + 0xff, + 0xff, + 0xff, + 0x40, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xbf, + 0xff, + 0xff, + 0xff, + 0xdf, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xff, + 0xff, + 0xff, + 0xff, + 0x7f, + 0x9f, + 0xff, + 0xff, + 0xff, + 0xdf, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xff, + 0xff, + 0xff, + 0xff, + 0x60, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x20, + 0xdf, + 0xff, + 0xff, + 0xff, + 0x20, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x60, + 0xff, + 0xff, + 0xff, + 0xff, + 0x20, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xdf, + 0xff, + 0xff, + 0xff, + 0xbf, + 0xbf, + 0xff, + 0xff, + 0xff, + 0xbf, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x40, + 0xff, + 0xff, + 0xff, + 0xff, + 0x40, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x40, + 0xbf, + 0xdf, + 0x60, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x40, + 0xff, + 0xff, + 0xff, + 0xff, + 0x40, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xbf, + 0xff, + 0xff, + 0xff, + 0xbf, + 0xdf, + 0xff, + 0xff, + 0xff, + 0x9f, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x60, + 0xff, + 0xff, + 0xff, + 0xff, + 0x20, + 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, + 0x20, + 0xff, + 0xff, + 0xff, + 0xff, + 0x60, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x9f, + 0xff, + 0xff, + 0xff, + 0xdf, + 0xff, + 0xff, + 0xff, + 0xff, + 0x9f, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x7f, + 0xff, + 0xff, + 0xff, + 0xff, + 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, + 0x20, + 0xff, + 0xff, + 0xff, + 0xff, + 0x7f, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x7f, + 0xff, + 0xff, + 0xff, + 0xdf, + 0xff, + 0xff, + 0xff, + 0xff, + 0x7f, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x7f, + 0xff, + 0xff, + 0xff, + 0xdf, + 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, + 0xff, + 0xff, + 0xff, + 0xff, + 0x9f, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x9f, + 0xff, + 0xff, + 0xff, + 0xff, + 0xdf, + 0xff, + 0xff, + 0xff, + 0xbf, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x7f, + 0xff, + 0xff, + 0xff, + 0xff, + 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, + 0xff, + 0xff, + 0xff, + 0xff, + 0x60, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x9f, + 0xff, + 0xff, + 0xff, + 0xdf, + 0xbf, + 0xff, + 0xff, + 0xff, + 0xbf, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x40, + 0xff, + 0xff, + 0xff, + 0xff, + 0x20, + 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, + 0x20, + 0xff, + 0xff, + 0xff, + 0xff, + 0x60, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xbf, + 0xff, + 0xff, + 0xff, + 0xbf, + 0x9f, + 0xff, + 0xff, + 0xff, + 0xdf, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x40, + 0xff, + 0xff, + 0xff, + 0xff, + 0x40, + 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, + 0x60, + 0xff, + 0xff, + 0xff, + 0xff, + 0x40, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xdf, + 0xff, + 0xff, + 0xff, + 0x9f, + 0x7f, + 0xff, + 0xff, + 0xff, + 0xdf, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x20, + 0xff, + 0xff, + 0xff, + 0xff, + 0xbf, + 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, + 0x9f, + 0xff, + 0xff, + 0xff, + 0xff, + 0x20, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xdf, + 0xff, + 0xff, + 0xff, + 0x9f, + 0x7f, + 0xff, + 0xff, + 0xff, + 0xff, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xbf, + 0xff, + 0xff, + 0xff, + 0xdf, + 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, + 0xdf, + 0xff, + 0xff, + 0xff, + 0x9f, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xff, + 0xff, + 0xff, + 0xff, + 0x60, + 0x40, + 0xff, + 0xff, + 0xff, + 0xff, + 0x40, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x7f, + 0xff, + 0xff, + 0xff, + 0xff, + 0x60, + 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, + 0x60, + 0xff, + 0xff, + 0xff, + 0xff, + 0x60, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x60, + 0xff, + 0xff, + 0xff, + 0xff, + 0x60, + 0x20, + 0xff, + 0xff, + 0xff, + 0xff, + 0xbf, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x20, + 0xff, + 0xff, + 0xff, + 0xff, + 0xdf, + 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, + 0xdf, + 0xff, + 0xff, + 0xff, + 0xff, + 0x20, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x9f, + 0xff, + 0xff, + 0xff, + 0xff, + 0x00, + 0x00, + 0xbf, + 0xff, + 0xff, + 0xff, + 0xdf, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x9f, + 0xff, + 0xff, + 0xff, + 0xff, + 0x7f, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x7f, + 0xff, + 0xff, + 0xff, + 0xff, + 0x9f, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xff, + 0xff, + 0xff, + 0xff, + 0x9f, + 0x00, + 0x00, + 0x60, + 0xff, + 0xff, + 0xff, + 0xff, + 0x40, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x20, + 0xff, + 0xff, + 0xff, + 0xff, + 0xdf, + 0x40, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x40, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x20, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x60, + 0xff, + 0xff, + 0xff, + 0xff, + 0x60, + 0x00, + 0x00, + 0x20, + 0xff, + 0xff, + 0xff, + 0xff, + 0x9f, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x9f, + 0xff, + 0xff, + 0xff, + 0xff, + 0xdf, + 0x20, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x20, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x9f, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x9f, + 0xff, + 0xff, + 0xff, + 0xff, + 0x20, + 0x00, + 0x00, + 0x00, + 0xbf, + 0xff, + 0xff, + 0xff, + 0xdf, + 0x20, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x20, + 0xdf, + 0xff, + 0xff, + 0xff, + 0xff, + 0xdf, + 0x40, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x40, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xdf, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x20, + 0xff, + 0xff, + 0xff, + 0xff, + 0x9f, + 0x00, + 0x00, + 0x00, + 0x00, + 0x60, + 0xff, + 0xff, + 0xff, + 0xff, + 0x9f, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x20, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xdf, + 0x7f, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x7f, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x40, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x9f, + 0xff, + 0xff, + 0xff, + 0xff, + 0x60, + 0x00, + 0x00, + 0x00, + 0x00, + 0x20, + 0xdf, + 0xff, + 0xff, + 0xff, + 0xff, + 0x40, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x40, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xdf, + 0x60, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x40, + 0xdf, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x40, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x40, + 0xff, + 0xff, + 0xff, + 0xff, + 0xdf, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x60, + 0xff, + 0xff, + 0xff, + 0xff, + 0xbf, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x40, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xdf, + 0x7f, + 0x40, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x20, + 0x7f, + 0xdf, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x40, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xbf, + 0xff, + 0xff, + 0xff, + 0xff, + 0x60, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x20, + 0xbf, + 0xff, + 0xff, + 0xff, + 0xff, + 0x60, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x20, + 0xdf, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xdf, + 0xdf, + 0xbf, + 0xdf, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xdf, + 0x40, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x40, + 0xff, + 0xff, + 0xff, + 0xff, + 0xbf, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x40, + 0xff, + 0xff, + 0xff, + 0xff, + 0xdf, + 0x40, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x20, + 0x7f, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xbf, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x20, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x40, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xbf, + 0xff, + 0xff, + 0xff, + 0xff, + 0xdf, + 0x20, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x20, + 0xbf, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xbf, + 0x20, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x20, + 0xdf, + 0xff, + 0xff, + 0xff, + 0xff, + 0xbf, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x20, + 0xdf, + 0xff, + 0xff, + 0xff, + 0xff, + 0xdf, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x20, + 0x9f, + 0xbf, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xdf, + 0x7f, + 0x20, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xbf, + 0xff, + 0xff, + 0xff, + 0xff, + 0xdf, + 0x20, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x20, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x9f, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x20, + 0x60, + 0x7f, + 0x9f, + 0xbf, + 0xbf, + 0x9f, + 0x7f, + 0x7f, + 0x20, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xbf, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x40, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x60, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xdf, + 0x20, + 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, + 0x20, + 0xbf, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x40, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x7f, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xdf, + 0x20, + 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, + 0x20, + 0xdf, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x7f, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x20, + 0x7f, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xdf, + 0x7f, + 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, + 0x40, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xbf, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x20, + 0x7f, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xbf, + 0x40, + 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, + 0x20, + 0xbf, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x9f, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x7f, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xdf, + 0x9f, + 0x20, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x20, + 0x7f, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x60, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x20, + 0xdf, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xdf, + 0x9f, + 0x40, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x40, + 0x7f, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xdf, + 0x40, + 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, + 0x20, + 0xbf, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xdf, + 0x9f, + 0x60, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x20, + 0x7f, + 0x9f, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xdf, + 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, + 0x60, + 0xbf, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xdf, + 0xdf, + 0xbf, + 0x9f, + 0x9f, + 0x7f, + 0x9f, + 0xbf, + 0xdf, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xdf, + 0x40, + 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, + 0x20, + 0x60, + 0xdf, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xdf, + 0x7f, + 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, + 0x20, + 0x7f, + 0xbf, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xdf, + 0x7f, + 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, + 0x20, + 0x60, + 0xbf, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xbf, + 0x7f, + 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, + 0x20, + 0x60, + 0x60, + 0x9f, + 0x9f, + 0xbf, + 0xdf, + 0xff, + 0xdf, + 0xdf, + 0xbf, + 0x9f, + 0x7f, + 0x7f, + 0x60, + 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, }; const lv_image_dsc_t shutdown = { - .header.magic = LV_IMAGE_HEADER_MAGIC, - .header.cf = LV_COLOR_FORMAT_RGB565A8, - .header.flags = 0, - .header.w = 64, - .header.h = 64, - .header.stride = 128, - .data_size = sizeof(shutdown_map), - .data = shutdown_map, + .header.magic = LV_IMAGE_HEADER_MAGIC, + .header.cf = LV_COLOR_FORMAT_RGB565A8, + .header.flags = 0, + .header.w = 64, + .header.h = 64, + .header.stride = 128, + .data_size = sizeof(shutdown_map), + .data = shutdown_map, }; diff --git a/src/ui/assets/team.c b/src/ui/assets/team.c index ddd68a5f..eda48e3d 100644 --- a/src/ui/assets/team.c +++ b/src/ui/assets/team.c @@ -1,18 +1,17 @@ #ifdef __has_include - #if __has_include("lvgl.h") - #ifndef LV_LVGL_H_INCLUDE_SIMPLE - #define LV_LVGL_H_INCLUDE_SIMPLE - #endif - #endif +#if __has_include("lvgl.h") +#ifndef LV_LVGL_H_INCLUDE_SIMPLE +#define LV_LVGL_H_INCLUDE_SIMPLE +#endif +#endif #endif #if defined(LV_LVGL_H_INCLUDE_SIMPLE) - #include "lvgl.h" +#include "lvgl.h" #else - #include "lvgl/lvgl.h" +#include "lvgl/lvgl.h" #endif - #ifndef LV_ATTRIBUTE_MEM_ALIGN #define LV_ATTRIBUTE_MEM_ALIGN #endif @@ -22,144 +21,12304 @@ #endif const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMAGE_TEAM uint8_t team_map[] = { - 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0xec, 0x62, 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, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 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, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 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, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 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, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x6d, 0x73, 0xb1, 0x9c, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 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, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0xef, 0x83, 0x8e, 0x73, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 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, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x6d, 0x73, 0xfa, 0xff, 0xfa, 0xff, 0x38, 0xef, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 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, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x76, 0xd6, 0xfa, 0xff, 0x59, 0xef, 0x8e, 0x73, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 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, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x6d, 0x73, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0xf4, 0xc5, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 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, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x76, 0xd6, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0x59, 0xef, 0x8e, 0x73, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 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, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x6d, 0x73, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0xb1, 0x9c, 0x0c, 0x63, 0xec, 0x62, 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, 0xec, 0x62, 0x0c, 0x63, 0x90, 0x94, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0x59, 0xef, 0x8e, 0x73, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 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, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x6d, 0x73, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0x8e, 0x73, 0x0c, 0x63, 0x0c, 0x63, 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, 0xec, 0x62, 0x0c, 0x63, 0x8e, 0x73, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0x59, 0xef, 0x8e, 0x73, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 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, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x6d, 0x73, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0x2f, 0x8c, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 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, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x8e, 0x73, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0x59, 0xef, 0x8e, 0x73, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 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, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x6d, 0x73, 0xb7, 0xde, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0x2f, 0x8c, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 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, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x8e, 0x73, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0x59, 0xef, 0x8e, 0x73, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 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, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x6d, 0x73, 0xb7, 0xde, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0x2f, 0x8c, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0xec, 0x62, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x2b, 0x6b, 0x0c, 0x63, 0x0c, 0x63, 0x8e, 0x73, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0x59, 0xef, 0x8e, 0x73, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x6d, 0x73, 0xb7, 0xde, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0x2f, 0x8c, 0x0c, 0x63, 0x0c, 0x63, 0xef, 0x83, 0x3b, 0xef, 0x10, 0x84, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0xec, 0x62, 0x0c, 0x63, 0x0c, 0x63, 0x00, 0x00, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x68, 0xac, 0x44, 0xfe, 0xa8, 0xb4, 0x0c, 0x63, 0x0c, 0x63, 0x8e, 0x73, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0x59, 0xef, 0x8e, 0x73, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x6d, 0x73, 0xb7, 0xde, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0x2f, 0x8c, 0x0c, 0x63, 0x0c, 0x63, 0xef, 0x83, 0xdd, 0xff, 0xdd, 0xff, 0x3b, 0xef, 0x34, 0xad, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x49, 0xa4, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0xa8, 0xb4, 0x0c, 0x63, 0x0c, 0x63, 0x8e, 0x73, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0x59, 0xef, 0x8e, 0x73, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x6d, 0x73, 0xb7, 0xde, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0x2f, 0x8c, 0x0c, 0x63, 0x0c, 0x63, 0xef, 0x83, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0x3b, 0xef, 0x34, 0xad, 0x51, 0x8c, 0x8e, 0x73, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x49, 0xa4, 0x49, 0xa4, 0x46, 0xd5, 0x66, 0xd5, 0xe5, 0xed, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0xa8, 0xb4, 0x0c, 0x63, 0x0c, 0x63, 0x8e, 0x73, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0x59, 0xef, 0x8e, 0x73, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x6d, 0x73, 0xb7, 0xde, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0x2f, 0x8c, 0x0c, 0x63, 0x0c, 0x63, 0xef, 0x83, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xf6, 0xc5, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0xea, 0x8b, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0xa8, 0xb4, 0x0c, 0x63, 0x0c, 0x63, 0x8e, 0x73, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0x59, 0xef, 0x8e, 0x73, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x6d, 0x73, 0xb7, 0xde, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0x2f, 0x8c, 0x0c, 0x63, 0x0c, 0x63, 0xef, 0x83, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xf6, 0xc5, 0x0c, 0x63, 0x0c, 0x63, 0xcb, 0x83, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0xa8, 0xb4, 0x0c, 0x63, 0x0c, 0x63, 0x8e, 0x73, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0x59, 0xef, 0x8e, 0x73, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x00, 0x00, - 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x6d, 0x73, 0xb7, 0xde, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0x2f, 0x8c, 0x0c, 0x63, 0x0c, 0x63, 0xef, 0x83, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xf6, 0xc5, 0x0c, 0x63, 0x0c, 0x63, 0xcb, 0x83, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0xa8, 0xb4, 0x0c, 0x63, 0x0c, 0x63, 0x8e, 0x73, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0x59, 0xef, 0x8e, 0x73, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, - 0xec, 0x62, 0x0c, 0x63, 0x6d, 0x73, 0xb7, 0xde, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0x2f, 0x8c, 0x0c, 0x63, 0x0c, 0x63, 0xef, 0x83, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xf6, 0xc5, 0x0c, 0x63, 0x0c, 0x63, 0xcb, 0x83, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0xa8, 0xb4, 0x0c, 0x63, 0x0c, 0x63, 0x8e, 0x73, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0x59, 0xef, 0x8e, 0x73, 0x0c, 0x63, 0xec, 0x62, - 0x0c, 0x63, 0x0c, 0x63, 0x15, 0xc6, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0x2f, 0x8c, 0x0c, 0x63, 0x0c, 0x63, 0xef, 0x83, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xf6, 0xc5, 0x0c, 0x63, 0x0c, 0x63, 0xcb, 0x83, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0xa8, 0xb4, 0x0c, 0x63, 0x0c, 0x63, 0x8e, 0x73, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0x73, 0xb5, 0x0c, 0x63, 0x0c, 0x63, - 0xec, 0x62, 0x0c, 0x63, 0x2f, 0x8c, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0x2f, 0x8c, 0x0c, 0x63, 0x0c, 0x63, 0xef, 0x83, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xf6, 0xc5, 0x0c, 0x63, 0x0c, 0x63, 0xeb, 0x8b, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0xe5, 0xed, 0xa8, 0xb4, 0x0c, 0x63, 0x0c, 0x63, 0x6b, 0x73, 0x49, 0x9c, 0x07, 0xc5, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0xa8, 0xb4, 0x0c, 0x63, 0x0c, 0x63, 0x8e, 0x73, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0x2f, 0x8c, 0x0c, 0x63, 0x0c, 0x63, - 0xec, 0x62, 0x0c, 0x63, 0x0c, 0x63, 0xd1, 0x9c, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0x2f, 0x8c, 0x0c, 0x63, 0x0c, 0x63, 0xef, 0x83, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0x99, 0xde, 0x0c, 0x63, 0x0c, 0x63, 0xeb, 0x8b, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x86, 0xdd, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x6b, 0x73, 0xa8, 0xb4, 0x86, 0xdd, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0xa8, 0xb4, 0x0c, 0x63, 0x0c, 0x63, 0x8e, 0x73, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0x2f, 0x8c, 0x0c, 0x63, 0x0c, 0x63, 0xec, 0x62, - 0x00, 0x00, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x2f, 0x8c, 0xb7, 0xde, 0x2f, 0x8c, 0x0c, 0x63, 0x0c, 0x63, 0x4d, 0x6b, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0x8e, 0x73, 0x0c, 0x63, 0xec, 0x8b, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x86, 0xdd, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x74, 0xb5, 0x99, 0xde, 0x74, 0xb5, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x6b, 0x73, 0x6b, 0x73, 0x49, 0x9c, 0x07, 0xc5, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x49, 0x9c, 0x0c, 0x63, 0x0c, 0x63, 0x8e, 0x73, 0xb7, 0xde, 0x2f, 0x8c, 0x0c, 0x63, 0x0c, 0x63, 0xec, 0x62, 0x00, 0x00, - 0x00, 0x00, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x74, 0xb5, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0x0c, 0x63, 0x0c, 0x63, 0x86, 0xdd, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x86, 0xdd, 0x0c, 0x63, 0x0c, 0x63, 0x8c, 0x73, 0x99, 0xde, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0x74, 0xb5, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x6b, 0x73, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x86, 0xdd, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0xec, 0x62, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x74, 0xb5, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0x3b, 0xef, 0x0c, 0x63, 0x0c, 0x63, 0xe5, 0xed, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x86, 0xdd, 0x0c, 0x63, 0x0c, 0x63, 0x8c, 0x73, 0x99, 0xde, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0x74, 0xb5, 0x0c, 0x63, 0x0c, 0x63, 0xca, 0x8b, 0x07, 0xc5, 0xa8, 0xb4, 0x49, 0x9c, 0x07, 0xc5, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0xe5, 0xed, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x74, 0xb5, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0x8e, 0x73, 0x0c, 0x63, 0x4a, 0x9c, 0x44, 0xfe, 0x44, 0xfe, 0x07, 0xc5, 0x0c, 0x63, 0x0c, 0x63, 0x8d, 0x73, 0x99, 0xde, 0xdd, 0xff, 0x3b, 0xef, 0xf6, 0xc5, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0x74, 0xb5, 0x0c, 0x63, 0x0c, 0x63, 0x49, 0x9c, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0xca, 0x8b, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 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, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x8e, 0x73, 0x3b, 0xef, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xf6, 0xc5, 0x0c, 0x63, 0x0c, 0x63, 0x6b, 0x73, 0x6b, 0x73, 0x0c, 0x63, 0x0c, 0x63, 0x8d, 0x73, 0x99, 0xde, 0xdd, 0xff, 0xdd, 0xff, 0x30, 0x8c, 0x0c, 0x63, 0x8e, 0x73, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0x74, 0xb5, 0x0c, 0x63, 0x0c, 0x63, 0x49, 0x9c, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x86, 0xdd, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 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, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0xd2, 0x9c, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0x74, 0xb5, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x8e, 0x73, 0x99, 0xde, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0x74, 0xb5, 0x0c, 0x63, 0x0c, 0x63, 0x8e, 0x73, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0x74, 0xb5, 0x0c, 0x63, 0x0c, 0x63, 0x49, 0x9c, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x49, 0x9c, 0x0c, 0x63, 0x0c, 0x63, 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, 0xec, 0x62, 0x0c, 0x63, 0x0c, 0x63, 0x99, 0xde, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0x3b, 0xef, 0xf6, 0xc5, 0x74, 0xb5, 0x99, 0xde, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0x74, 0xb5, 0x0c, 0x63, 0x0c, 0x63, 0x8e, 0x73, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0x74, 0xb5, 0x0c, 0x63, 0x0c, 0x63, 0x49, 0x9c, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x6b, 0x73, 0x0c, 0x63, 0x0c, 0x63, 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, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0xd2, 0x9c, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0x3b, 0xef, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0x74, 0xb5, 0x0c, 0x63, 0x0c, 0x63, 0x8e, 0x73, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0x74, 0xb5, 0x0c, 0x63, 0x0c, 0x63, 0x49, 0x9c, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x07, 0xc5, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 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, 0x0c, 0x63, 0x0c, 0x63, 0x6d, 0x73, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0x3b, 0xef, 0x0c, 0x63, 0x8e, 0x73, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0x74, 0xb5, 0x0c, 0x63, 0x0c, 0x63, 0x8e, 0x73, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0x74, 0xb5, 0x0c, 0x63, 0x0c, 0x63, 0x49, 0x9c, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x44, 0xfe, 0x49, 0x9c, 0x0c, 0x63, 0xec, 0x62, 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, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0xd2, 0x9c, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0x99, 0xde, 0x0c, 0x63, 0x0c, 0x63, 0x8e, 0x73, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0x74, 0xb5, 0x0c, 0x63, 0x0c, 0x63, 0x8e, 0x73, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0x74, 0xb5, 0x0c, 0x63, 0x0c, 0x63, 0x49, 0x9c, 0x44, 0xfe, 0x44, 0xfe, 0xe5, 0xed, 0x0c, 0x63, 0x0c, 0x63, 0xec, 0x62, 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, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0xf6, 0xc5, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0x74, 0xb5, 0x0c, 0x63, 0x0c, 0x63, 0x8e, 0x73, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0x74, 0xb5, 0x0c, 0x63, 0x0c, 0x63, 0x8e, 0x73, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0x74, 0xb5, 0x0c, 0x63, 0x0c, 0x63, 0x49, 0x9c, 0x44, 0xfe, 0xca, 0x8b, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 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, 0x0c, 0x63, 0xec, 0x62, 0x0c, 0x63, 0x8e, 0x73, 0x30, 0x8c, 0x0c, 0x63, 0x8e, 0x73, 0xd2, 0x9c, 0x3b, 0xef, 0xdd, 0xff, 0xdd, 0xff, 0x3b, 0xef, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0x74, 0xb5, 0x0c, 0x63, 0x0c, 0x63, 0x8e, 0x73, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0x74, 0xb5, 0x0c, 0x63, 0x0c, 0x63, 0x8e, 0x73, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0x74, 0xb5, 0x0c, 0x63, 0x0c, 0x63, 0x6b, 0x73, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 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, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x8e, 0x73, 0xdd, 0xff, 0x3b, 0xef, 0x0c, 0x63, 0x8e, 0x73, 0x3b, 0xef, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0x74, 0xb5, 0x0c, 0x63, 0x0c, 0x63, 0x8e, 0x73, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0x74, 0xb5, 0x0c, 0x63, 0x0c, 0x63, 0x8e, 0x73, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0x74, 0xb5, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 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, 0xec, 0x62, 0x0c, 0x63, 0x4a, 0x73, 0x66, 0xb4, 0x66, 0xb4, 0x0c, 0x63, 0x0c, 0x63, 0x74, 0xb5, 0x99, 0xde, 0x0c, 0x63, 0x0c, 0x63, 0x8e, 0x73, 0x3b, 0xef, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0x74, 0xb5, 0x0c, 0x63, 0x0c, 0x63, 0x8e, 0x73, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0x74, 0xb5, 0x0c, 0x63, 0x0c, 0x63, 0x8e, 0x73, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0x74, 0xb5, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 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, 0x0c, 0x63, 0x0c, 0x63, 0xc5, 0xc4, 0xe1, 0xfd, 0xe1, 0xfd, 0x29, 0x9c, 0x0c, 0x63, 0x30, 0x8c, 0xdd, 0xff, 0xf6, 0xc5, 0x0c, 0x63, 0x0c, 0x63, 0x8e, 0x73, 0x3b, 0xef, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0x74, 0xb5, 0x0c, 0x63, 0x0c, 0x63, 0x8e, 0x73, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0x74, 0xb5, 0x0c, 0x63, 0x0c, 0x63, 0x8e, 0x73, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0x3b, 0xef, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 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, 0x0c, 0x63, 0x0c, 0x63, 0x66, 0xb4, 0xe1, 0xfd, 0xe1, 0xfd, 0x08, 0x9c, 0x0c, 0x63, 0x0c, 0x63, 0x8e, 0x73, 0x74, 0xb5, 0xf6, 0xc5, 0x0c, 0x63, 0x0c, 0x63, 0x8e, 0x73, 0x3b, 0xef, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0x74, 0xb5, 0x0c, 0x63, 0x0c, 0x63, 0x8e, 0x73, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0x74, 0xb5, 0x0c, 0x63, 0x0c, 0x63, 0xd2, 0x9c, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0x0c, 0x63, 0x0c, 0x63, 0xec, 0x62, 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, 0xec, 0x62, 0x0c, 0x63, 0x4b, 0x73, 0x08, 0x9c, 0x66, 0xb4, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x8e, 0x73, 0xf6, 0xc5, 0x0c, 0x63, 0x0c, 0x63, 0x8e, 0x73, 0x3b, 0xef, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0x74, 0xb5, 0x0c, 0x63, 0x0c, 0x63, 0x8e, 0x73, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0x74, 0xb5, 0x0c, 0x63, 0x0c, 0x63, 0x8e, 0x73, 0xd2, 0x9c, 0x8e, 0x73, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 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, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x4a, 0x73, 0x66, 0xb4, 0x66, 0xb4, 0x0c, 0x63, 0x0c, 0x63, 0xf6, 0xc5, 0xf6, 0xc5, 0x0c, 0x63, 0x0c, 0x63, 0x8e, 0x73, 0x3b, 0xef, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0x74, 0xb5, 0x0c, 0x63, 0x0c, 0x63, 0x8e, 0x73, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0x74, 0xb5, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0xec, 0x62, 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, 0x0c, 0x63, 0x0c, 0x63, 0xec, 0x62, 0x0c, 0x63, 0x0c, 0x63, 0xc5, 0xc4, 0xe1, 0xfd, 0xe1, 0xfd, 0x08, 0x9c, 0x0c, 0x63, 0x30, 0x8c, 0xdd, 0xff, 0xf6, 0xc5, 0x0c, 0x63, 0x0c, 0x63, 0x8e, 0x73, 0x3b, 0xef, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0x74, 0xb5, 0x0c, 0x63, 0x0c, 0x63, 0x8e, 0x73, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0x74, 0xb5, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 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, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x66, 0xb4, 0xe1, 0xfd, 0xe1, 0xfd, 0x08, 0x9c, 0x0c, 0x63, 0x0c, 0x63, 0x8e, 0x73, 0x74, 0xb5, 0xf6, 0xc5, 0x0c, 0x63, 0x0c, 0x63, 0x8e, 0x73, 0x3b, 0xef, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0x74, 0xb5, 0x0c, 0x63, 0x0c, 0x63, 0x8e, 0x73, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0x74, 0xb5, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 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, 0xec, 0x62, 0x0c, 0x63, 0x2b, 0x6b, 0x66, 0xb4, 0x67, 0xac, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x8e, 0x73, 0xf6, 0xc5, 0x0c, 0x63, 0x0c, 0x63, 0x8e, 0x73, 0x3b, 0xef, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0x74, 0xb5, 0x0c, 0x63, 0x0c, 0x63, 0x8e, 0x73, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0x74, 0xb5, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 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, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x4a, 0x73, 0xc5, 0xc4, 0x66, 0xb4, 0x0c, 0x63, 0x0c, 0x63, 0xf6, 0xc5, 0xf6, 0xc5, 0x0c, 0x63, 0x0c, 0x63, 0x8e, 0x73, 0x3b, 0xef, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0x74, 0xb5, 0x0c, 0x63, 0x0c, 0x63, 0x8e, 0x73, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0x3b, 0xef, 0x8e, 0x73, 0x0c, 0x63, 0x0c, 0x63, 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, 0x0c, 0x63, 0x0c, 0x63, 0xec, 0x62, 0x0c, 0x63, 0x0c, 0x63, 0x23, 0xdd, 0xe1, 0xfd, 0xe1, 0xfd, 0xca, 0x8b, 0x0c, 0x63, 0xd2, 0x9c, 0xdd, 0xff, 0xf6, 0xc5, 0x0c, 0x63, 0x0c, 0x63, 0x8e, 0x73, 0x3b, 0xef, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0x30, 0x8c, 0x0c, 0x63, 0x0c, 0x63, 0x8e, 0x73, 0xdd, 0xff, 0xdd, 0xff, 0xdd, 0xff, 0x8e, 0x73, 0x0c, 0x63, 0x0c, 0x63, 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, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0xc5, 0xc4, 0xe1, 0xfd, 0xe1, 0xfd, 0x6b, 0x73, 0x0c, 0x63, 0xd2, 0x9c, 0xdd, 0xff, 0xdd, 0xff, 0x30, 0x8c, 0x0c, 0x63, 0x0c, 0x63, 0x8e, 0x73, 0x3b, 0xef, 0xdd, 0xff, 0xdd, 0xff, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x8e, 0x73, 0xf6, 0xc5, 0xd2, 0x9c, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 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, 0xec, 0x62, 0x0c, 0x63, 0x2b, 0x6b, 0x08, 0x9c, 0x4a, 0x73, 0x0c, 0x63, 0x0c, 0x63, 0xf6, 0xc5, 0xdd, 0xff, 0xdd, 0xff, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x8e, 0x73, 0xd2, 0x9c, 0x8e, 0x73, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 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, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x8e, 0x73, 0xd2, 0x9c, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x00, 0x00, 0x0c, 0x63, 0xec, 0x62, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 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, 0x00, 0x00, 0x00, 0x0c, 0x63, 0x0c, 0x63, 0xec, 0x62, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0xec, 0x62, 0x00, 0x00, 0x0c, 0x63, 0x0c, 0x63, 0xec, 0x62, 0x0c, 0x63, 0x0c, 0x63, 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, 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, 0x0c, 0x63, 0x0c, 0x63, 0xec, 0x62, 0x0c, 0x63, 0x0c, 0x63, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, + 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, + 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, + 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, + 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, + 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, + 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, + 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, + 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, + 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, + 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, + 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, + 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, + 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, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0xec, + 0x62, + 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, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 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, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 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, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 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, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x6d, + 0x73, + 0xb1, + 0x9c, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 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, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0xef, + 0x83, + 0x8e, + 0x73, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 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, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x6d, + 0x73, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0x38, + 0xef, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 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, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x76, + 0xd6, + 0xfa, + 0xff, + 0x59, + 0xef, + 0x8e, + 0x73, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 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, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x6d, + 0x73, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0xf4, + 0xc5, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 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, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x76, + 0xd6, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0x59, + 0xef, + 0x8e, + 0x73, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 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, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x6d, + 0x73, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0xb1, + 0x9c, + 0x0c, + 0x63, + 0xec, + 0x62, + 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, + 0xec, + 0x62, + 0x0c, + 0x63, + 0x90, + 0x94, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0x59, + 0xef, + 0x8e, + 0x73, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 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, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x6d, + 0x73, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0x8e, + 0x73, + 0x0c, + 0x63, + 0x0c, + 0x63, + 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, + 0xec, + 0x62, + 0x0c, + 0x63, + 0x8e, + 0x73, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0x59, + 0xef, + 0x8e, + 0x73, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 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, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x6d, + 0x73, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0x2f, + 0x8c, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 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, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x8e, + 0x73, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0x59, + 0xef, + 0x8e, + 0x73, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 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, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x6d, + 0x73, + 0xb7, + 0xde, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0x2f, + 0x8c, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 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, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x8e, + 0x73, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0x59, + 0xef, + 0x8e, + 0x73, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 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, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x6d, + 0x73, + 0xb7, + 0xde, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0x2f, + 0x8c, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0xec, + 0x62, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x2b, + 0x6b, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x8e, + 0x73, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0x59, + 0xef, + 0x8e, + 0x73, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x6d, + 0x73, + 0xb7, + 0xde, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0x2f, + 0x8c, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0xef, + 0x83, + 0x3b, + 0xef, + 0x10, + 0x84, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0xec, + 0x62, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x00, + 0x00, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x68, + 0xac, + 0x44, + 0xfe, + 0xa8, + 0xb4, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x8e, + 0x73, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0x59, + 0xef, + 0x8e, + 0x73, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x6d, + 0x73, + 0xb7, + 0xde, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0x2f, + 0x8c, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0xef, + 0x83, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0x3b, + 0xef, + 0x34, + 0xad, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x49, + 0xa4, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0xa8, + 0xb4, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x8e, + 0x73, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0x59, + 0xef, + 0x8e, + 0x73, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x6d, + 0x73, + 0xb7, + 0xde, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0x2f, + 0x8c, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0xef, + 0x83, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0x3b, + 0xef, + 0x34, + 0xad, + 0x51, + 0x8c, + 0x8e, + 0x73, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x49, + 0xa4, + 0x49, + 0xa4, + 0x46, + 0xd5, + 0x66, + 0xd5, + 0xe5, + 0xed, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0xa8, + 0xb4, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x8e, + 0x73, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0x59, + 0xef, + 0x8e, + 0x73, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x6d, + 0x73, + 0xb7, + 0xde, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0x2f, + 0x8c, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0xef, + 0x83, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xf6, + 0xc5, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0xea, + 0x8b, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0xa8, + 0xb4, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x8e, + 0x73, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0x59, + 0xef, + 0x8e, + 0x73, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x6d, + 0x73, + 0xb7, + 0xde, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0x2f, + 0x8c, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0xef, + 0x83, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xf6, + 0xc5, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0xcb, + 0x83, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0xa8, + 0xb4, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x8e, + 0x73, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0x59, + 0xef, + 0x8e, + 0x73, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x00, + 0x00, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x6d, + 0x73, + 0xb7, + 0xde, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0x2f, + 0x8c, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0xef, + 0x83, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xf6, + 0xc5, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0xcb, + 0x83, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0xa8, + 0xb4, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x8e, + 0x73, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0x59, + 0xef, + 0x8e, + 0x73, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0xec, + 0x62, + 0x0c, + 0x63, + 0x6d, + 0x73, + 0xb7, + 0xde, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0x2f, + 0x8c, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0xef, + 0x83, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xf6, + 0xc5, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0xcb, + 0x83, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0xa8, + 0xb4, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x8e, + 0x73, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0x59, + 0xef, + 0x8e, + 0x73, + 0x0c, + 0x63, + 0xec, + 0x62, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x15, + 0xc6, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0x2f, + 0x8c, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0xef, + 0x83, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xf6, + 0xc5, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0xcb, + 0x83, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0xa8, + 0xb4, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x8e, + 0x73, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0x73, + 0xb5, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0xec, + 0x62, + 0x0c, + 0x63, + 0x2f, + 0x8c, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0x2f, + 0x8c, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0xef, + 0x83, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xf6, + 0xc5, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0xeb, + 0x8b, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0xe5, + 0xed, + 0xa8, + 0xb4, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x6b, + 0x73, + 0x49, + 0x9c, + 0x07, + 0xc5, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0xa8, + 0xb4, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x8e, + 0x73, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0x2f, + 0x8c, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0xec, + 0x62, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0xd1, + 0x9c, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0x2f, + 0x8c, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0xef, + 0x83, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0x99, + 0xde, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0xeb, + 0x8b, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x86, + 0xdd, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x6b, + 0x73, + 0xa8, + 0xb4, + 0x86, + 0xdd, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0xa8, + 0xb4, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x8e, + 0x73, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0xfa, + 0xff, + 0x2f, + 0x8c, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0xec, + 0x62, + 0x00, + 0x00, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x2f, + 0x8c, + 0xb7, + 0xde, + 0x2f, + 0x8c, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x4d, + 0x6b, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0x8e, + 0x73, + 0x0c, + 0x63, + 0xec, + 0x8b, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x86, + 0xdd, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x74, + 0xb5, + 0x99, + 0xde, + 0x74, + 0xb5, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x6b, + 0x73, + 0x6b, + 0x73, + 0x49, + 0x9c, + 0x07, + 0xc5, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x49, + 0x9c, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x8e, + 0x73, + 0xb7, + 0xde, + 0x2f, + 0x8c, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0xec, + 0x62, + 0x00, + 0x00, + 0x00, + 0x00, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x74, + 0xb5, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x86, + 0xdd, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x86, + 0xdd, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x8c, + 0x73, + 0x99, + 0xde, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0x74, + 0xb5, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x6b, + 0x73, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x86, + 0xdd, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0xec, + 0x62, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x74, + 0xb5, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0x3b, + 0xef, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0xe5, + 0xed, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x86, + 0xdd, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x8c, + 0x73, + 0x99, + 0xde, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0x74, + 0xb5, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0xca, + 0x8b, + 0x07, + 0xc5, + 0xa8, + 0xb4, + 0x49, + 0x9c, + 0x07, + 0xc5, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0xe5, + 0xed, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x74, + 0xb5, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0x8e, + 0x73, + 0x0c, + 0x63, + 0x4a, + 0x9c, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x07, + 0xc5, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x8d, + 0x73, + 0x99, + 0xde, + 0xdd, + 0xff, + 0x3b, + 0xef, + 0xf6, + 0xc5, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0x74, + 0xb5, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x49, + 0x9c, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0xca, + 0x8b, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 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, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x8e, + 0x73, + 0x3b, + 0xef, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xf6, + 0xc5, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x6b, + 0x73, + 0x6b, + 0x73, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x8d, + 0x73, + 0x99, + 0xde, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0x30, + 0x8c, + 0x0c, + 0x63, + 0x8e, + 0x73, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0x74, + 0xb5, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x49, + 0x9c, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x86, + 0xdd, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 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, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0xd2, + 0x9c, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0x74, + 0xb5, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x8e, + 0x73, + 0x99, + 0xde, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0x74, + 0xb5, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x8e, + 0x73, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0x74, + 0xb5, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x49, + 0x9c, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x49, + 0x9c, + 0x0c, + 0x63, + 0x0c, + 0x63, + 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, + 0xec, + 0x62, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x99, + 0xde, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0x3b, + 0xef, + 0xf6, + 0xc5, + 0x74, + 0xb5, + 0x99, + 0xde, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0x74, + 0xb5, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x8e, + 0x73, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0x74, + 0xb5, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x49, + 0x9c, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x6b, + 0x73, + 0x0c, + 0x63, + 0x0c, + 0x63, + 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, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0xd2, + 0x9c, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0x3b, + 0xef, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0x74, + 0xb5, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x8e, + 0x73, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0x74, + 0xb5, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x49, + 0x9c, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x07, + 0xc5, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 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, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x6d, + 0x73, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0x3b, + 0xef, + 0x0c, + 0x63, + 0x8e, + 0x73, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0x74, + 0xb5, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x8e, + 0x73, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0x74, + 0xb5, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x49, + 0x9c, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0x49, + 0x9c, + 0x0c, + 0x63, + 0xec, + 0x62, + 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, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0xd2, + 0x9c, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0x99, + 0xde, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x8e, + 0x73, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0x74, + 0xb5, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x8e, + 0x73, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0x74, + 0xb5, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x49, + 0x9c, + 0x44, + 0xfe, + 0x44, + 0xfe, + 0xe5, + 0xed, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0xec, + 0x62, + 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, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0xf6, + 0xc5, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0x74, + 0xb5, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x8e, + 0x73, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0x74, + 0xb5, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x8e, + 0x73, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0x74, + 0xb5, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x49, + 0x9c, + 0x44, + 0xfe, + 0xca, + 0x8b, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 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, + 0x0c, + 0x63, + 0xec, + 0x62, + 0x0c, + 0x63, + 0x8e, + 0x73, + 0x30, + 0x8c, + 0x0c, + 0x63, + 0x8e, + 0x73, + 0xd2, + 0x9c, + 0x3b, + 0xef, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0x3b, + 0xef, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0x74, + 0xb5, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x8e, + 0x73, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0x74, + 0xb5, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x8e, + 0x73, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0x74, + 0xb5, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x6b, + 0x73, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 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, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x8e, + 0x73, + 0xdd, + 0xff, + 0x3b, + 0xef, + 0x0c, + 0x63, + 0x8e, + 0x73, + 0x3b, + 0xef, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0x74, + 0xb5, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x8e, + 0x73, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0x74, + 0xb5, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x8e, + 0x73, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0x74, + 0xb5, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 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, + 0xec, + 0x62, + 0x0c, + 0x63, + 0x4a, + 0x73, + 0x66, + 0xb4, + 0x66, + 0xb4, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x74, + 0xb5, + 0x99, + 0xde, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x8e, + 0x73, + 0x3b, + 0xef, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0x74, + 0xb5, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x8e, + 0x73, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0x74, + 0xb5, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x8e, + 0x73, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0x74, + 0xb5, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 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, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0xc5, + 0xc4, + 0xe1, + 0xfd, + 0xe1, + 0xfd, + 0x29, + 0x9c, + 0x0c, + 0x63, + 0x30, + 0x8c, + 0xdd, + 0xff, + 0xf6, + 0xc5, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x8e, + 0x73, + 0x3b, + 0xef, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0x74, + 0xb5, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x8e, + 0x73, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0x74, + 0xb5, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x8e, + 0x73, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0x3b, + 0xef, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 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, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x66, + 0xb4, + 0xe1, + 0xfd, + 0xe1, + 0xfd, + 0x08, + 0x9c, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x8e, + 0x73, + 0x74, + 0xb5, + 0xf6, + 0xc5, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x8e, + 0x73, + 0x3b, + 0xef, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0x74, + 0xb5, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x8e, + 0x73, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0x74, + 0xb5, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0xd2, + 0x9c, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0xec, + 0x62, + 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, + 0xec, + 0x62, + 0x0c, + 0x63, + 0x4b, + 0x73, + 0x08, + 0x9c, + 0x66, + 0xb4, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x8e, + 0x73, + 0xf6, + 0xc5, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x8e, + 0x73, + 0x3b, + 0xef, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0x74, + 0xb5, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x8e, + 0x73, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0x74, + 0xb5, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x8e, + 0x73, + 0xd2, + 0x9c, + 0x8e, + 0x73, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 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, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x4a, + 0x73, + 0x66, + 0xb4, + 0x66, + 0xb4, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0xf6, + 0xc5, + 0xf6, + 0xc5, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x8e, + 0x73, + 0x3b, + 0xef, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0x74, + 0xb5, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x8e, + 0x73, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0x74, + 0xb5, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0xec, + 0x62, + 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, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0xec, + 0x62, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0xc5, + 0xc4, + 0xe1, + 0xfd, + 0xe1, + 0xfd, + 0x08, + 0x9c, + 0x0c, + 0x63, + 0x30, + 0x8c, + 0xdd, + 0xff, + 0xf6, + 0xc5, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x8e, + 0x73, + 0x3b, + 0xef, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0x74, + 0xb5, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x8e, + 0x73, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0x74, + 0xb5, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 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, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x66, + 0xb4, + 0xe1, + 0xfd, + 0xe1, + 0xfd, + 0x08, + 0x9c, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x8e, + 0x73, + 0x74, + 0xb5, + 0xf6, + 0xc5, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x8e, + 0x73, + 0x3b, + 0xef, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0x74, + 0xb5, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x8e, + 0x73, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0x74, + 0xb5, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 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, + 0xec, + 0x62, + 0x0c, + 0x63, + 0x2b, + 0x6b, + 0x66, + 0xb4, + 0x67, + 0xac, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x8e, + 0x73, + 0xf6, + 0xc5, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x8e, + 0x73, + 0x3b, + 0xef, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0x74, + 0xb5, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x8e, + 0x73, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0x74, + 0xb5, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 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, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x4a, + 0x73, + 0xc5, + 0xc4, + 0x66, + 0xb4, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0xf6, + 0xc5, + 0xf6, + 0xc5, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x8e, + 0x73, + 0x3b, + 0xef, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0x74, + 0xb5, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x8e, + 0x73, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0x3b, + 0xef, + 0x8e, + 0x73, + 0x0c, + 0x63, + 0x0c, + 0x63, + 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, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0xec, + 0x62, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x23, + 0xdd, + 0xe1, + 0xfd, + 0xe1, + 0xfd, + 0xca, + 0x8b, + 0x0c, + 0x63, + 0xd2, + 0x9c, + 0xdd, + 0xff, + 0xf6, + 0xc5, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x8e, + 0x73, + 0x3b, + 0xef, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0x30, + 0x8c, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x8e, + 0x73, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0x8e, + 0x73, + 0x0c, + 0x63, + 0x0c, + 0x63, + 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, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0xc5, + 0xc4, + 0xe1, + 0xfd, + 0xe1, + 0xfd, + 0x6b, + 0x73, + 0x0c, + 0x63, + 0xd2, + 0x9c, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0x30, + 0x8c, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x8e, + 0x73, + 0x3b, + 0xef, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x8e, + 0x73, + 0xf6, + 0xc5, + 0xd2, + 0x9c, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 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, + 0xec, + 0x62, + 0x0c, + 0x63, + 0x2b, + 0x6b, + 0x08, + 0x9c, + 0x4a, + 0x73, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0xf6, + 0xc5, + 0xdd, + 0xff, + 0xdd, + 0xff, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x8e, + 0x73, + 0xd2, + 0x9c, + 0x8e, + 0x73, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 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, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x8e, + 0x73, + 0xd2, + 0x9c, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x00, + 0x00, + 0x0c, + 0x63, + 0xec, + 0x62, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 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, + 0x00, + 0x00, + 0x00, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0xec, + 0x62, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0xec, + 0x62, + 0x00, + 0x00, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0xec, + 0x62, + 0x0c, + 0x63, + 0x0c, + 0x63, + 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, + 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, + 0x0c, + 0x63, + 0x0c, + 0x63, + 0xec, + 0x62, + 0x0c, + 0x63, + 0x0c, + 0x63, + 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, + 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, + 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, + 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, + 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, + 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, + 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, + 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, + 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, + 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, + 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, + 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, + 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, + 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, + 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, 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, 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, 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, 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, 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, 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, 0x20, 0x7f, 0x9f, 0x60, 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, 0x7f, 0x9f, 0x9f, 0x20, 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, 0x40, 0xff, 0xff, 0xff, 0xff, 0xdf, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0xdf, 0xff, 0xff, 0xff, 0xdf, 0x7f, 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, 0x40, 0xff, 0xff, 0xf7, 0xf3, 0xff, 0xff, 0xdf, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0xff, 0xff, 0xff, 0xef, 0xff, 0xff, 0xdf, 0x7f, 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, 0x40, 0xff, 0xff, 0xf7, 0xff, 0xff, 0xe3, 0xff, 0xff, 0xdf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdf, 0xff, 0xff, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xdf, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xff, 0xff, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xeb, 0xff, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9f, 0xff, 0xff, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xff, 0xff, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, 0xff, 0xbf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbf, 0xff, 0xe7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xff, 0xff, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xff, 0xff, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xff, 0xff, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xff, 0xff, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x20, 0x40, 0x60, 0x7f, 0xff, 0xff, 0xff, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xff, 0xff, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc3, 0xff, 0xf7, 0xff, 0xff, 0xdf, 0x9f, 0x60, 0x40, 0x20, 0x00, 0x20, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe7, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x40, 0xff, 0xff, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc3, 0xff, 0xff, 0xff, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe3, 0xe7, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0x7f, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x40, 0xff, 0xff, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xdb, 0xd7, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xcf, 0xcf, 0xcf, 0xe7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0x7f, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x40, 0xff, 0xff, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0x7f, 0x00, 0x00, - 0x00, 0x40, 0xff, 0xff, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf2, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0x7f, 0x00, - 0x40, 0xff, 0xff, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0x40, - 0xbf, 0xff, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe3, - 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, - 0x60, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x60, - 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xeb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 0x00, - 0x00, 0x20, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 0x00, 0x00, - 0x00, 0x00, 0x20, 0x7f, 0xff, 0xff, 0xdf, 0x7f, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0x7f, 0xdf, 0xff, 0xdf, 0x7f, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0xdf, 0xff, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xff, 0x9f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0xbf, 0xff, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x40, 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, 0x20, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 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, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x20, 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, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x40, 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, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x60, 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, 0xbf, 0xff, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x20, 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, 0x20, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x60, 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, 0x20, 0x9f, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x40, 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, 0x20, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9f, 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, 0xbf, 0xff, 0xef, 0xff, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x40, 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, 0x20, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 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, 0x20, 0x9f, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xff, 0x7f, 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, 0x20, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x40, 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, 0xbf, 0xff, 0xef, 0xff, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xff, 0xff, 0xff, 0xff, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9f, 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, 0x20, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xff, 0xff, 0xff, 0xff, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x00, 0x20, 0xbf, 0xff, 0xdf, 0x7f, 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, 0x20, 0x7f, 0xbf, 0x7f, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0x60, 0x00, 0x20, 0x9f, 0xbf, 0x9f, 0x40, 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, 0x20, 0x7f, 0xbf, 0x7f, 0x40, 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, 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, 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, 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, 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, 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, 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, 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, + 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, + 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, + 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, + 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, + 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, + 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, + 0x20, + 0x7f, + 0x9f, + 0x60, + 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, + 0x7f, + 0x9f, + 0x9f, + 0x20, + 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, + 0x40, + 0xff, + 0xff, + 0xff, + 0xff, + 0xdf, + 0x20, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x20, + 0xdf, + 0xff, + 0xff, + 0xff, + 0xdf, + 0x7f, + 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, + 0x40, + 0xff, + 0xff, + 0xf7, + 0xf3, + 0xff, + 0xff, + 0xdf, + 0x20, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x20, + 0xff, + 0xff, + 0xff, + 0xef, + 0xff, + 0xff, + 0xdf, + 0x7f, + 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, + 0x40, + 0xff, + 0xff, + 0xf7, + 0xff, + 0xff, + 0xe3, + 0xff, + 0xff, + 0xdf, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xdf, + 0xff, + 0xff, + 0xcf, + 0xff, + 0xff, + 0xff, + 0xff, + 0xdf, + 0x7f, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x40, + 0xff, + 0xff, + 0xf7, + 0xff, + 0xff, + 0xff, + 0xff, + 0xeb, + 0xff, + 0xff, + 0x7f, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x9f, + 0xff, + 0xff, + 0xcf, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xdf, + 0x7f, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x40, + 0xff, + 0xff, + 0xf7, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xf3, + 0xff, + 0xbf, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xbf, + 0xff, + 0xe7, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xdf, + 0x7f, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x40, + 0xff, + 0xff, + 0xf7, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x9f, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xbf, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xdf, + 0x7f, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x40, + 0xff, + 0xff, + 0xf7, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x40, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x40, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xdf, + 0x7f, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x40, + 0xff, + 0xff, + 0xf7, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x7f, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x20, + 0x9f, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xdf, + 0x7f, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x40, + 0xff, + 0xff, + 0xf7, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xdf, + 0x7f, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x20, + 0x20, + 0x40, + 0x60, + 0x7f, + 0xff, + 0xff, + 0xff, + 0xef, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xdf, + 0x7f, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x40, + 0xff, + 0xff, + 0xf7, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xc3, + 0xff, + 0xf7, + 0xff, + 0xff, + 0xdf, + 0x9f, + 0x60, + 0x40, + 0x20, + 0x00, + 0x20, + 0x7f, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xe7, + 0xdf, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xdf, + 0x7f, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x40, + 0xff, + 0xff, + 0xf7, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xc3, + 0xff, + 0xff, + 0xff, + 0xef, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xe3, + 0xe7, + 0xcf, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xdf, + 0x7f, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x40, + 0xff, + 0xff, + 0xf7, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xc3, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xef, + 0xdb, + 0xd7, + 0xff, + 0xff, + 0xff, + 0xff, + 0xdf, + 0xcf, + 0xcf, + 0xcf, + 0xe7, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xdf, + 0x7f, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x40, + 0xff, + 0xff, + 0xf7, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xc3, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xaf, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xdf, + 0x7f, + 0x00, + 0x00, + 0x00, + 0x40, + 0xff, + 0xff, + 0xf7, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xc3, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xf2, + 0xcf, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xdf, + 0x7f, + 0x00, + 0x40, + 0xff, + 0xff, + 0xf7, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xc3, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xf6, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xdf, + 0x40, + 0xbf, + 0xff, + 0xf7, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xc3, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xf6, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xbf, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xc3, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xf6, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xe3, + 0xbf, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xc3, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xfd, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xdf, + 0x60, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xc3, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x60, + 0x00, + 0x7f, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xeb, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xbf, + 0x00, + 0x00, + 0x20, + 0x7f, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xbf, + 0x00, + 0x00, + 0x00, + 0x00, + 0x20, + 0x7f, + 0xff, + 0xff, + 0xdf, + 0x7f, + 0xdf, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xdf, + 0x7f, + 0xdf, + 0xff, + 0xdf, + 0x7f, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x20, + 0xdf, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x40, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x20, + 0xdf, + 0xff, + 0xfb, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x40, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x20, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x60, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xfb, + 0xff, + 0x9f, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x20, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x20, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x7f, + 0xff, + 0xf7, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xbf, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x20, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x60, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x9f, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x20, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x20, + 0xbf, + 0xff, + 0xfb, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x40, + 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, + 0x20, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x7f, + 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, + 0xbf, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x20, + 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, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x40, + 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, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x60, + 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, + 0xbf, + 0xff, + 0xf7, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x20, + 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, + 0x20, + 0xdf, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x60, + 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, + 0x20, + 0x9f, + 0xbf, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x40, + 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, + 0x20, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x9f, + 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, + 0xbf, + 0xff, + 0xef, + 0xff, + 0xef, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x40, + 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, + 0x20, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x7f, + 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, + 0x20, + 0x9f, + 0xbf, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xfb, + 0xff, + 0x7f, + 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, + 0x20, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xfe, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x40, + 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, + 0xbf, + 0xff, + 0xef, + 0xff, + 0xfb, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xfb, + 0xff, + 0xff, + 0xff, + 0xff, + 0x9f, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x9f, + 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, + 0x20, + 0xdf, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xfb, + 0xff, + 0xff, + 0xff, + 0xff, + 0x9f, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x7f, + 0x00, + 0x20, + 0xbf, + 0xff, + 0xdf, + 0x7f, + 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, + 0x20, + 0x7f, + 0xbf, + 0x7f, + 0x9f, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x60, + 0x00, + 0x20, + 0x9f, + 0xbf, + 0x9f, + 0x40, + 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, + 0x20, + 0x7f, + 0xbf, + 0x7f, + 0x40, + 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, + 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, + 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, + 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, + 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, + 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, + 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, + 0x00, + 0x00, + 0x00, }; const lv_image_dsc_t team_icon = { - .header.magic = LV_IMAGE_HEADER_MAGIC, - .header.cf = LV_COLOR_FORMAT_RGB565A8, - .header.flags = 0, - .header.w = 64, - .header.h = 64, - .header.stride = 128, - .data_size = sizeof(team_map), - .data = team_map, + .header.magic = LV_IMAGE_HEADER_MAGIC, + .header.cf = LV_COLOR_FORMAT_RGB565A8, + .header.flags = 0, + .header.w = 64, + .header.h = 64, + .header.stride = 128, + .data_size = sizeof(team_map), + .data = team_map, }; diff --git a/src/ui/assets/tracker.c b/src/ui/assets/tracker.c index 5a235a49..ad721dc1 100644 --- a/src/ui/assets/tracker.c +++ b/src/ui/assets/tracker.c @@ -1,18 +1,17 @@ #ifdef __has_include - #if __has_include("lvgl.h") - #ifndef LV_LVGL_H_INCLUDE_SIMPLE - #define LV_LVGL_H_INCLUDE_SIMPLE - #endif - #endif +#if __has_include("lvgl.h") +#ifndef LV_LVGL_H_INCLUDE_SIMPLE +#define LV_LVGL_H_INCLUDE_SIMPLE +#endif +#endif #endif #if defined(LV_LVGL_H_INCLUDE_SIMPLE) - #include "lvgl.h" +#include "lvgl.h" #else - #include "lvgl/lvgl.h" +#include "lvgl/lvgl.h" #endif - #ifndef LV_ATTRIBUTE_MEM_ALIGN #define LV_ATTRIBUTE_MEM_ALIGN #endif @@ -22,144 +21,12304 @@ #endif const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMAGE_TRACKER uint8_t tracker_map[] = { - 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, 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, 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, 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, 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, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x26, 0xfe, 0x63, 0xec, 0x63, 0xec, 0x64, 0xec, 0x83, 0xec, 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, 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, 0xa5, 0xf5, 0x66, 0xfe, 0x46, 0xfe, 0x66, 0xfe, 0x05, 0xfe, 0x63, 0xec, 0x63, 0xec, 0x63, 0xec, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0xf6, 0x26, 0xfe, 0x05, 0xfe, 0x63, 0xec, 0x63, 0xec, 0x63, 0xec, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x45, 0xfe, 0x46, 0xfe, 0x46, 0xfe, 0x46, 0xfe, 0x46, 0xfe, 0x46, 0xfe, 0x65, 0xf5, 0x63, 0xec, 0x63, 0xec, 0x83, 0xec, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x66, 0xfe, 0x46, 0xfe, 0x46, 0xfe, 0x66, 0xfe, 0x63, 0xec, 0x63, 0xec, 0x63, 0xec, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0xfe, 0x46, 0xfe, 0x46, 0xfe, 0x46, 0xfe, 0x46, 0xfe, 0x46, 0xfe, 0x66, 0xfe, 0x63, 0xec, 0x63, 0xec, 0x63, 0xec, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0xfe, 0x46, 0xfe, 0x46, 0xfe, 0x46, 0xfe, 0x46, 0xfe, 0x05, 0xfe, 0x63, 0xec, 0x63, 0xec, 0x83, 0xec, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa5, 0xf5, 0x46, 0xfe, 0x04, 0xf5, 0x63, 0xec, 0x64, 0xec, 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, 0x83, 0xec, 0x46, 0xfe, 0x46, 0xfe, 0x46, 0xfe, 0x46, 0xfe, 0x46, 0xfe, 0x46, 0xfe, 0x46, 0xfe, 0x65, 0xf5, 0x63, 0xec, 0x63, 0xec, 0x83, 0xec, 0x00, 0x00, 0x00, 0x00, 0x66, 0xfe, 0x46, 0xfe, 0x46, 0xfe, 0x46, 0xfe, 0x46, 0xfe, 0x46, 0xfe, 0x63, 0xec, 0x63, 0xec, 0x64, 0xec, 0x00, 0x00, 0x00, 0x00, 0x05, 0xfe, 0x46, 0xfe, 0x46, 0xfe, 0x66, 0xfe, 0x65, 0xf5, 0x63, 0xec, 0x63, 0xec, 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, 0x05, 0xfe, 0x86, 0xfe, 0x86, 0xfe, 0x86, 0xfe, 0x86, 0xfe, 0x86, 0xfe, 0x86, 0xfe, 0x86, 0xfe, 0xa5, 0xf5, 0x63, 0xec, 0x63, 0xec, 0x63, 0xec, 0x00, 0x00, 0x00, 0x00, 0x65, 0xfe, 0x06, 0xff, 0x06, 0xff, 0x06, 0xff, 0x06, 0xff, 0x45, 0xfe, 0x63, 0xec, 0x63, 0xec, 0x63, 0xec, 0x00, 0x00, 0x00, 0x00, 0x66, 0xfe, 0x46, 0xfe, 0x46, 0xfe, 0x46, 0xfe, 0x46, 0xfe, 0x63, 0xec, 0x63, 0xec, 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, 0xe5, 0xf5, 0x06, 0xff, 0x06, 0xff, 0x06, 0xff, 0x06, 0xff, 0x06, 0xff, 0x06, 0xff, 0x06, 0xff, 0xc4, 0xec, 0x63, 0xec, 0x63, 0xec, 0x64, 0xec, 0x00, 0x00, 0x00, 0x00, 0x25, 0xf6, 0x06, 0xff, 0x06, 0xff, 0x06, 0xff, 0x06, 0xff, 0x05, 0xf6, 0x63, 0xec, 0x63, 0xec, 0x83, 0xec, 0x00, 0x00, 0x00, 0x00, 0xc6, 0xfe, 0xc6, 0xfe, 0xc6, 0xfe, 0xc6, 0xfe, 0xa6, 0xfe, 0x63, 0xec, 0x63, 0xec, 0x83, 0xec, 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, 0x65, 0xfe, 0x06, 0xff, 0x06, 0xff, 0x06, 0xff, 0x06, 0xff, 0x06, 0xff, 0x06, 0xff, 0x63, 0xec, 0x63, 0xec, 0x63, 0xec, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe5, 0xf5, 0xa6, 0xfe, 0x06, 0xff, 0x06, 0xff, 0xa6, 0xfe, 0x63, 0xec, 0x63, 0xec, 0x63, 0xec, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x65, 0xfe, 0x06, 0xff, 0x06, 0xff, 0x06, 0xff, 0x05, 0xf6, 0x63, 0xec, 0x63, 0xec, 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, 0xe5, 0xf5, 0x06, 0xff, 0x06, 0xff, 0x06, 0xff, 0x06, 0xff, 0x06, 0xff, 0x04, 0xf5, 0x63, 0xec, 0x63, 0xec, 0x63, 0xec, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe5, 0xf5, 0x25, 0xf6, 0xa5, 0xf5, 0x63, 0xec, 0x63, 0xec, 0x64, 0xec, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0xf6, 0x06, 0xff, 0x06, 0xff, 0x06, 0xff, 0x04, 0xf5, 0x63, 0xec, 0x64, 0xec, 0x00, 0x00, 0x00, 0x00, 0x86, 0xfe, 0x63, 0xec, 0x64, 0xec, 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, 0x25, 0xf6, 0xa6, 0xfe, 0x06, 0xff, 0x06, 0xff, 0xa5, 0xf5, 0x63, 0xec, 0x63, 0xec, 0x63, 0xec, 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, 0x05, 0xf6, 0x65, 0xfe, 0x04, 0xf5, 0x63, 0xec, 0x63, 0xec, 0x00, 0x00, 0x00, 0x00, 0x05, 0xfe, 0x46, 0xfe, 0x66, 0xfe, 0xa4, 0xec, 0x63, 0xec, 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, 0xe5, 0xf5, 0xe5, 0xf5, 0x63, 0xec, 0x63, 0xec, 0x63, 0xec, 0x64, 0xec, 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, 0x46, 0xfe, 0x46, 0xfe, 0x46, 0xfe, 0x06, 0xfe, 0x63, 0xec, 0x63, 0xec, 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, 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, 0xc6, 0xfe, 0xc6, 0xfe, 0xc6, 0xfe, 0x05, 0xfe, 0x63, 0xec, 0x63, 0xec, 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, 0x45, 0xea, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0xc5, 0xf2, 0xa5, 0xf2, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x65, 0xfe, 0x06, 0xff, 0x06, 0xff, 0x64, 0xf5, 0x63, 0xec, 0x63, 0xec, 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, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0xa5, 0xf2, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x00, 0x00, 0x00, 0x00, 0xe5, 0xf5, 0xc6, 0xfe, 0x45, 0xfe, 0x63, 0xec, 0x63, 0xec, 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, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0xe4, 0xfa, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x00, 0x00, 0x06, 0xff, 0x83, 0xec, 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, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 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, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 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, 0xe4, 0xf2, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0xa5, 0xf2, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 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, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 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, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0xa5, 0xf2, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 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, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0xe4, 0xfa, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 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, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 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, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 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, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 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, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 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, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 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, 0x45, 0xea, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 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, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 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, 0x45, 0xea, 0x44, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0xe5, 0xf2, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 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, 0x25, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0xa5, 0xf2, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x45, 0xea, 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, 0x45, 0xea, 0x64, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 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, 0x44, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x64, 0xfb, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 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, 0x05, 0xf3, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x44, 0xfb, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 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, 0x05, 0xf3, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0xe5, 0xf2, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 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, 0x05, 0xf3, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 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, 0xe5, 0xf2, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x64, 0xfb, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 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, 0x24, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0xe5, 0xf2, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 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, 0x05, 0xf3, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x85, 0xea, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 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, 0x00, 0x44, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x04, 0xf3, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 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, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x85, 0xea, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x45, 0xea, 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, 0x24, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x64, 0xfb, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 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, 0x00, 0x44, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0xa5, 0xf2, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x45, 0xea, 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, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x44, 0xfb, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 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, 0x00, 0x24, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x85, 0xea, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 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, 0x00, 0x00, 0x00, 0x44, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0xe5, 0xf2, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 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, 0x00, 0x00, 0x00, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x64, 0xfb, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 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, 0x00, 0x00, 0x00, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x85, 0xea, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0xf3, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0xe5, 0xf2, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x45, 0xea, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x04, 0xf3, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x44, 0xfb, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x44, 0xfb, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe4, 0xf2, 0x64, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x44, 0xfb, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x44, 0xfb, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x25, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x04, 0xf3, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 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, 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, 0x25, 0xfb, 0x64, 0xfb, 0x84, 0xfb, 0x84, 0xfb, 0x64, 0xfb, 0xc5, 0xf2, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 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, 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, 0xe4, 0xf2, 0x44, 0xfb, 0xe5, 0xf2, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 0x65, 0xea, 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, 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, 0x45, 0xea, 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, 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, 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, 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, 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, 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, + 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, + 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, + 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, + 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, + 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, + 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, + 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, + 0x26, + 0xfe, + 0x63, + 0xec, + 0x63, + 0xec, + 0x64, + 0xec, + 0x83, + 0xec, + 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, + 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, + 0xa5, + 0xf5, + 0x66, + 0xfe, + 0x46, + 0xfe, + 0x66, + 0xfe, + 0x05, + 0xfe, + 0x63, + 0xec, + 0x63, + 0xec, + 0x63, + 0xec, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x05, + 0xf6, + 0x26, + 0xfe, + 0x05, + 0xfe, + 0x63, + 0xec, + 0x63, + 0xec, + 0x63, + 0xec, + 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, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x45, + 0xfe, + 0x46, + 0xfe, + 0x46, + 0xfe, + 0x46, + 0xfe, + 0x46, + 0xfe, + 0x46, + 0xfe, + 0x65, + 0xf5, + 0x63, + 0xec, + 0x63, + 0xec, + 0x83, + 0xec, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x66, + 0xfe, + 0x46, + 0xfe, + 0x46, + 0xfe, + 0x66, + 0xfe, + 0x63, + 0xec, + 0x63, + 0xec, + 0x63, + 0xec, + 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, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x46, + 0xfe, + 0x46, + 0xfe, + 0x46, + 0xfe, + 0x46, + 0xfe, + 0x46, + 0xfe, + 0x46, + 0xfe, + 0x66, + 0xfe, + 0x63, + 0xec, + 0x63, + 0xec, + 0x63, + 0xec, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x46, + 0xfe, + 0x46, + 0xfe, + 0x46, + 0xfe, + 0x46, + 0xfe, + 0x46, + 0xfe, + 0x05, + 0xfe, + 0x63, + 0xec, + 0x63, + 0xec, + 0x83, + 0xec, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xa5, + 0xf5, + 0x46, + 0xfe, + 0x04, + 0xf5, + 0x63, + 0xec, + 0x64, + 0xec, + 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, + 0x83, + 0xec, + 0x46, + 0xfe, + 0x46, + 0xfe, + 0x46, + 0xfe, + 0x46, + 0xfe, + 0x46, + 0xfe, + 0x46, + 0xfe, + 0x46, + 0xfe, + 0x65, + 0xf5, + 0x63, + 0xec, + 0x63, + 0xec, + 0x83, + 0xec, + 0x00, + 0x00, + 0x00, + 0x00, + 0x66, + 0xfe, + 0x46, + 0xfe, + 0x46, + 0xfe, + 0x46, + 0xfe, + 0x46, + 0xfe, + 0x46, + 0xfe, + 0x63, + 0xec, + 0x63, + 0xec, + 0x64, + 0xec, + 0x00, + 0x00, + 0x00, + 0x00, + 0x05, + 0xfe, + 0x46, + 0xfe, + 0x46, + 0xfe, + 0x66, + 0xfe, + 0x65, + 0xf5, + 0x63, + 0xec, + 0x63, + 0xec, + 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, + 0x05, + 0xfe, + 0x86, + 0xfe, + 0x86, + 0xfe, + 0x86, + 0xfe, + 0x86, + 0xfe, + 0x86, + 0xfe, + 0x86, + 0xfe, + 0x86, + 0xfe, + 0xa5, + 0xf5, + 0x63, + 0xec, + 0x63, + 0xec, + 0x63, + 0xec, + 0x00, + 0x00, + 0x00, + 0x00, + 0x65, + 0xfe, + 0x06, + 0xff, + 0x06, + 0xff, + 0x06, + 0xff, + 0x06, + 0xff, + 0x45, + 0xfe, + 0x63, + 0xec, + 0x63, + 0xec, + 0x63, + 0xec, + 0x00, + 0x00, + 0x00, + 0x00, + 0x66, + 0xfe, + 0x46, + 0xfe, + 0x46, + 0xfe, + 0x46, + 0xfe, + 0x46, + 0xfe, + 0x63, + 0xec, + 0x63, + 0xec, + 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, + 0xe5, + 0xf5, + 0x06, + 0xff, + 0x06, + 0xff, + 0x06, + 0xff, + 0x06, + 0xff, + 0x06, + 0xff, + 0x06, + 0xff, + 0x06, + 0xff, + 0xc4, + 0xec, + 0x63, + 0xec, + 0x63, + 0xec, + 0x64, + 0xec, + 0x00, + 0x00, + 0x00, + 0x00, + 0x25, + 0xf6, + 0x06, + 0xff, + 0x06, + 0xff, + 0x06, + 0xff, + 0x06, + 0xff, + 0x05, + 0xf6, + 0x63, + 0xec, + 0x63, + 0xec, + 0x83, + 0xec, + 0x00, + 0x00, + 0x00, + 0x00, + 0xc6, + 0xfe, + 0xc6, + 0xfe, + 0xc6, + 0xfe, + 0xc6, + 0xfe, + 0xa6, + 0xfe, + 0x63, + 0xec, + 0x63, + 0xec, + 0x83, + 0xec, + 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, + 0x65, + 0xfe, + 0x06, + 0xff, + 0x06, + 0xff, + 0x06, + 0xff, + 0x06, + 0xff, + 0x06, + 0xff, + 0x06, + 0xff, + 0x63, + 0xec, + 0x63, + 0xec, + 0x63, + 0xec, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xe5, + 0xf5, + 0xa6, + 0xfe, + 0x06, + 0xff, + 0x06, + 0xff, + 0xa6, + 0xfe, + 0x63, + 0xec, + 0x63, + 0xec, + 0x63, + 0xec, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x65, + 0xfe, + 0x06, + 0xff, + 0x06, + 0xff, + 0x06, + 0xff, + 0x05, + 0xf6, + 0x63, + 0xec, + 0x63, + 0xec, + 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, + 0xe5, + 0xf5, + 0x06, + 0xff, + 0x06, + 0xff, + 0x06, + 0xff, + 0x06, + 0xff, + 0x06, + 0xff, + 0x04, + 0xf5, + 0x63, + 0xec, + 0x63, + 0xec, + 0x63, + 0xec, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xe5, + 0xf5, + 0x25, + 0xf6, + 0xa5, + 0xf5, + 0x63, + 0xec, + 0x63, + 0xec, + 0x64, + 0xec, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x05, + 0xf6, + 0x06, + 0xff, + 0x06, + 0xff, + 0x06, + 0xff, + 0x04, + 0xf5, + 0x63, + 0xec, + 0x64, + 0xec, + 0x00, + 0x00, + 0x00, + 0x00, + 0x86, + 0xfe, + 0x63, + 0xec, + 0x64, + 0xec, + 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, + 0x25, + 0xf6, + 0xa6, + 0xfe, + 0x06, + 0xff, + 0x06, + 0xff, + 0xa5, + 0xf5, + 0x63, + 0xec, + 0x63, + 0xec, + 0x63, + 0xec, + 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, + 0x05, + 0xf6, + 0x65, + 0xfe, + 0x04, + 0xf5, + 0x63, + 0xec, + 0x63, + 0xec, + 0x00, + 0x00, + 0x00, + 0x00, + 0x05, + 0xfe, + 0x46, + 0xfe, + 0x66, + 0xfe, + 0xa4, + 0xec, + 0x63, + 0xec, + 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, + 0xe5, + 0xf5, + 0xe5, + 0xf5, + 0x63, + 0xec, + 0x63, + 0xec, + 0x63, + 0xec, + 0x64, + 0xec, + 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, + 0x46, + 0xfe, + 0x46, + 0xfe, + 0x46, + 0xfe, + 0x06, + 0xfe, + 0x63, + 0xec, + 0x63, + 0xec, + 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, + 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, + 0xc6, + 0xfe, + 0xc6, + 0xfe, + 0xc6, + 0xfe, + 0x05, + 0xfe, + 0x63, + 0xec, + 0x63, + 0xec, + 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, + 0x45, + 0xea, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0xc5, + 0xf2, + 0xa5, + 0xf2, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x65, + 0xfe, + 0x06, + 0xff, + 0x06, + 0xff, + 0x64, + 0xf5, + 0x63, + 0xec, + 0x63, + 0xec, + 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, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0xa5, + 0xf2, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x00, + 0x00, + 0x00, + 0x00, + 0xe5, + 0xf5, + 0xc6, + 0xfe, + 0x45, + 0xfe, + 0x63, + 0xec, + 0x63, + 0xec, + 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, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0xe4, + 0xfa, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x00, + 0x00, + 0x06, + 0xff, + 0x83, + 0xec, + 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, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 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, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 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, + 0xe4, + 0xf2, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0xa5, + 0xf2, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 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, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 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, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0xa5, + 0xf2, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 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, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0xe4, + 0xfa, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 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, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 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, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 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, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 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, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 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, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 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, + 0x45, + 0xea, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 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, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x04, + 0xfb, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 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, + 0x45, + 0xea, + 0x44, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0xe5, + 0xf2, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 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, + 0x25, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0xa5, + 0xf2, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x45, + 0xea, + 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, + 0x45, + 0xea, + 0x64, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 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, + 0x44, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x64, + 0xfb, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 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, + 0x05, + 0xf3, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x44, + 0xfb, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 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, + 0x05, + 0xf3, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0xe5, + 0xf2, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 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, + 0x05, + 0xf3, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 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, + 0xe5, + 0xf2, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x64, + 0xfb, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 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, + 0x24, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0xe5, + 0xf2, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 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, + 0x05, + 0xf3, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x85, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 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, + 0x00, + 0x44, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x04, + 0xf3, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 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, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x85, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x45, + 0xea, + 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, + 0x24, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x64, + 0xfb, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 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, + 0x00, + 0x44, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0xa5, + 0xf2, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x45, + 0xea, + 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, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x44, + 0xfb, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 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, + 0x00, + 0x24, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x85, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 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, + 0x00, + 0x00, + 0x00, + 0x44, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0xe5, + 0xf2, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 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, + 0x00, + 0x00, + 0x00, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x64, + 0xfb, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 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, + 0x00, + 0x00, + 0x00, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x85, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 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, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x05, + 0xf3, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0xe5, + 0xf2, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 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, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x45, + 0xea, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x04, + 0xf3, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 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, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x64, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x44, + 0xfb, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 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, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x24, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x44, + 0xfb, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 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, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xe4, + 0xf2, + 0x64, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x44, + 0xfb, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 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, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x24, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x44, + 0xfb, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 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, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x25, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x04, + 0xf3, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 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, + 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, + 0x25, + 0xfb, + 0x64, + 0xfb, + 0x84, + 0xfb, + 0x84, + 0xfb, + 0x64, + 0xfb, + 0xc5, + 0xf2, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 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, + 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, + 0xe4, + 0xf2, + 0x44, + 0xfb, + 0xe5, + 0xf2, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 0x65, + 0xea, + 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, + 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, + 0x45, + 0xea, + 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, + 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, + 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, + 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, + 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, + 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, 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, 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, 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, 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, 0xc1, 0x9f, 0x7f, 0x40, 0x20, 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, 0x6d, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xdf, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0xe7, 0xff, 0xdf, 0xdf, 0x7f, 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, 0x82, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x20, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 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, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0x00, 0x00, 0x00, 0xf1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0x20, 0x00, 0x00, 0x00, 0x6d, 0xf6, 0xe7, 0xbf, 0x40, 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, 0x20, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x20, 0x00, 0x00, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x40, 0x00, 0x00, 0x94, 0xff, 0xff, 0xff, 0xff, 0xff, 0x60, 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, 0x94, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x60, 0x00, 0x00, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x60, 0x00, 0x00, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 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, 0x3c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x40, 0x00, 0x00, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x20, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x20, 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, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0x00, 0x00, 0x00, 0x3c, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x00, 0x00, 0x00, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 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, 0x70, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x3c, 0xbf, 0xff, 0xff, 0xdf, 0x40, 0x00, 0x00, 0x00, 0x00, 0x9c, 0xff, 0xff, 0xff, 0xff, 0xff, 0x40, 0x00, 0x00, 0x3c, 0x7f, 0x40, 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, 0xbf, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9c, 0xef, 0xff, 0xdf, 0x7f, 0x00, 0x00, 0x94, 0xff, 0xff, 0xff, 0xdf, 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, 0x3c, 0xaf, 0xbf, 0x9f, 0x9f, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfb, 0xff, 0xff, 0xff, 0xff, 0x60, 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, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9f, 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, 0x20, 0xcd, 0xed, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfd, 0xf7, 0xed, 0xe7, 0xdf, 0xdf, 0xbf, 0x9f, 0x40, 0x00, 0x00, 0x00, 0x00, 0xef, 0xff, 0xff, 0xff, 0xff, 0x60, 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, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x00, 0x00, 0x3c, 0xf7, 0xff, 0xff, 0x7f, 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, 0x54, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0x40, 0x00, 0x20, 0x20, 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, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0x7f, 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, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0x40, 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, 0x6d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 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, 0xd7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9f, 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, 0xe7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 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, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x40, 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, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x40, 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, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 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, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9f, 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, 0x54, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9f, 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, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9f, 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, 0x20, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 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, 0x54, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x60, 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, 0x20, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x60, 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, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x20, 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, 0x20, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 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, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9f, 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, 0x9c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9f, 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, 0x70, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x40, 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, 0x70, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 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, 0x88, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9f, 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, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x60, 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, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 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, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x60, 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, 0x20, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x20, 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, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9f, 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, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x20, 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, 0x20, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 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, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 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, 0xe7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x40, 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, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 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, 0x20, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 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, 0x70, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x40, 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, 0x20, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x40, 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, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 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, 0xe7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9f, 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, 0x3c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9f, 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, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 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, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x60, 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, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0x40, 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, 0x3c, 0xcf, 0xd7, 0xff, 0xff, 0xff, 0xdf, 0xdf, 0x7f, 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, 0x20, 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, 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, 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, + 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, + 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, + 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, + 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, + 0xc1, + 0x9f, + 0x7f, + 0x40, + 0x20, + 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, + 0x6d, + 0xfe, + 0xff, + 0xff, + 0xff, + 0xff, + 0xdf, + 0x60, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x54, + 0xe7, + 0xff, + 0xdf, + 0xdf, + 0x7f, + 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, + 0x82, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x20, + 0x00, + 0x00, + 0x00, + 0x00, + 0xfe, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x7f, + 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, + 0xfb, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xdf, + 0x00, + 0x00, + 0x00, + 0xf1, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xdf, + 0x20, + 0x00, + 0x00, + 0x00, + 0x6d, + 0xf6, + 0xe7, + 0xbf, + 0x40, + 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, + 0x20, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x20, + 0x00, + 0x00, + 0xfe, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x40, + 0x00, + 0x00, + 0x94, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x60, + 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, + 0x94, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x60, + 0x00, + 0x00, + 0xef, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x60, + 0x00, + 0x00, + 0xfe, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xdf, + 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, + 0x3c, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x40, + 0x00, + 0x00, + 0xbf, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x20, + 0x00, + 0x00, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x20, + 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, + 0xf7, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xdf, + 0x00, + 0x00, + 0x00, + 0x3c, + 0xfb, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x7f, + 0x00, + 0x00, + 0x00, + 0xef, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 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, + 0x70, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x7f, + 0x00, + 0x00, + 0x00, + 0x00, + 0x3c, + 0xbf, + 0xff, + 0xff, + 0xdf, + 0x40, + 0x00, + 0x00, + 0x00, + 0x00, + 0x9c, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x40, + 0x00, + 0x00, + 0x3c, + 0x7f, + 0x40, + 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, + 0xbf, + 0xfb, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x7f, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x9c, + 0xef, + 0xff, + 0xdf, + 0x7f, + 0x00, + 0x00, + 0x94, + 0xff, + 0xff, + 0xff, + 0xdf, + 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, + 0x3c, + 0xaf, + 0xbf, + 0x9f, + 0x9f, + 0x40, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xfb, + 0xff, + 0xff, + 0xff, + 0xff, + 0x60, + 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, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x9f, + 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, + 0x20, + 0xcd, + 0xed, + 0xfe, + 0xfe, + 0xfe, + 0xfe, + 0xfe, + 0xfe, + 0xfe, + 0xfe, + 0xfe, + 0xfd, + 0xf7, + 0xed, + 0xe7, + 0xdf, + 0xdf, + 0xbf, + 0x9f, + 0x40, + 0x00, + 0x00, + 0x00, + 0x00, + 0xef, + 0xff, + 0xff, + 0xff, + 0xff, + 0x60, + 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, + 0xdf, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x7f, + 0x00, + 0x00, + 0x3c, + 0xf7, + 0xff, + 0xff, + 0x7f, + 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, + 0x54, + 0xfb, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xdf, + 0x40, + 0x00, + 0x20, + 0x20, + 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, + 0xfe, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xdf, + 0x7f, + 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, + 0xdf, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xdf, + 0x40, + 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, + 0x6d, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xdf, + 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, + 0xd7, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x9f, + 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, + 0xe7, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xdf, + 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, + 0xfd, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x40, + 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, + 0xfe, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x40, + 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, + 0xfb, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x7f, + 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, + 0xdf, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x9f, + 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, + 0x54, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x9f, + 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, + 0xdf, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x9f, + 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, + 0x20, + 0xfe, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x7f, + 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, + 0x54, + 0xfe, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x60, + 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, + 0x20, + 0xcf, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x60, + 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, + 0xbf, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x20, + 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, + 0x20, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 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, + 0xcf, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x9f, + 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, + 0x9c, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x9f, + 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, + 0x70, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x40, + 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, + 0x70, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 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, + 0x88, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x9f, + 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, + 0xaf, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x60, + 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, + 0xcf, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 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, + 0xf7, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x60, + 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, + 0x20, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x20, + 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, + 0xaf, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x9f, + 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, + 0xef, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x20, + 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, + 0x20, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x7f, + 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, + 0xaf, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xdf, + 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, + 0xe7, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x40, + 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, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xbf, + 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, + 0x20, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xdf, + 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, + 0x70, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x40, + 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, + 0x20, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x40, + 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, + 0xf7, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x7f, + 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, + 0xe7, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x9f, + 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, + 0x3c, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x9f, + 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, + 0xaf, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x7f, + 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, + 0xbf, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0x60, + 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, + 0xbf, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xdf, + 0x40, + 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, + 0x3c, + 0xcf, + 0xd7, + 0xff, + 0xff, + 0xff, + 0xdf, + 0xdf, + 0x7f, + 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, + 0x20, + 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, + 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, + 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, }; const lv_image_dsc_t tracker_icon = { - .header.magic = LV_IMAGE_HEADER_MAGIC, - .header.cf = LV_COLOR_FORMAT_RGB565A8, - .header.flags = 0, - .header.w = 64, - .header.h = 64, - .header.stride = 128, - .data_size = sizeof(tracker_map), - .data = tracker_map, + .header.magic = LV_IMAGE_HEADER_MAGIC, + .header.cf = LV_COLOR_FORMAT_RGB565A8, + .header.flags = 0, + .header.w = 64, + .header.h = 64, + .header.stride = 128, + .data_size = sizeof(tracker_map), + .data = tracker_map, }; diff --git a/src/ui/compose_flow.h b/src/ui/compose_flow.h index fe593145..3907432b 100644 --- a/src/ui/compose_flow.h +++ b/src/ui/compose_flow.h @@ -1,20 +1,22 @@ #pragma once -#include "lvgl.h" #include "../chat/domain/chat_types.h" +#include "lvgl.h" #include "screens/chat/chat_compose_components.h" #include "widgets/ime/ime_widget.h" #include -namespace chat { +namespace chat +{ class ChatService; } -namespace chat::ui { +namespace chat::ui +{ class ComposeFlow { -public: + public: struct Callbacks { void (*on_closed)(bool sent, bool ok, bool timeout, void* user_data) = nullptr; @@ -36,7 +38,7 @@ public: bool isOpen() const; ChatComposeScreen* screen() const; -private: + private: static void on_action(ChatComposeScreen::ActionIntent intent, void* user_data); static void on_back(void* user_data); static void on_send_done(bool ok, bool timeout, void* user_data); diff --git a/src/ui/screens/chat/chat_compose_components.cpp b/src/ui/screens/chat/chat_compose_components.cpp index 74652304..bc480665 100644 --- a/src/ui/screens/chat/chat_compose_components.cpp +++ b/src/ui/screens/chat/chat_compose_components.cpp @@ -115,7 +115,8 @@ static void fit_btn_to_label(lv_obj_t* btn, int pad_lr) void ChatComposeScreen::setEnabled(bool enabled) { if (!impl_) return; - auto set = [enabled](lv_obj_t* o) { + auto set = [enabled](lv_obj_t* o) + { if (!o) return; if (enabled) lv_obj_clear_state(o, LV_STATE_DISABLED); else lv_obj_add_state(o, LV_STATE_DISABLED); @@ -251,9 +252,12 @@ ChatComposeScreen::ChatComposeScreen(lv_obj_t* parent, chat::ConversationId conv : conv_(conv) { lv_obj_t* active = lv_screen_active(); - if (!active) { + if (!active) + { CHAT_COMPOSE_LOG("[ChatCompose] WARNING: lv_screen_active() is null\n"); - } else { + } + else + { CHAT_COMPOSE_LOG("[ChatCompose] init: active=%p parent=%p\n", active, parent); } @@ -300,10 +304,12 @@ ChatComposeScreen::ChatComposeScreen(lv_obj_t* parent, chat::ConversationId conv input::bind_textarea_events(impl_->w, this, on_key, on_text_changed); input::setup_default_group_focus(impl_->w); - if (impl_->w.container && !lv_obj_is_valid(impl_->w.container)) { + if (impl_->w.container && !lv_obj_is_valid(impl_->w.container)) + { CHAT_COMPOSE_LOG("[ChatCompose] WARNING: container invalid\n"); } - if (impl_->w.textarea && !lv_obj_is_valid(impl_->w.textarea)) { + if (impl_->w.textarea && !lv_obj_is_valid(impl_->w.textarea)) + { CHAT_COMPOSE_LOG("[ChatCompose] WARNING: textarea invalid\n"); } @@ -410,9 +416,9 @@ void ChatComposeScreen::clearText() } void ChatComposeScreen::beginSend(chat::ChatService* service, - chat::MessageId msg_id, - void (*done_cb)(bool ok, bool timeout, void*), - void* user_data) + chat::MessageId msg_id, + void (*done_cb)(bool ok, bool timeout, void*), + void* user_data) { if (!impl_ || !impl_->guard || !impl_->guard->alive) return; if (impl_->send_state == SendState::Waiting) return; @@ -448,8 +454,6 @@ void ChatComposeScreen::beginSend(chat::ChatService* service, } } - - void ChatComposeScreen::finishSend(bool ok, bool timeout, const char* message) { if (!impl_ || !impl_->guard || !impl_->guard->alive) return; @@ -471,7 +475,6 @@ void ChatComposeScreen::finishSend(bool ok, bool timeout, const char* message) schedule_done_async(impl_->guard, done_cb, done_user, ok, timeout); } - void ChatComposeScreen::setActionCallback(void (*cb)(ActionIntent intent, void*), void* user_data) { action_cb_ = cb; diff --git a/src/ui/screens/chat/chat_compose_components.h b/src/ui/screens/chat/chat_compose_components.h index d45a35a4..f56ef674 100644 --- a/src/ui/screens/chat/chat_compose_components.h +++ b/src/ui/screens/chat/chat_compose_components.h @@ -1,24 +1,29 @@ #pragma once -#include "lvgl.h" #include "../../chat/domain/chat_types.h" #include "../../widgets/top_bar.h" +#include "lvgl.h" #include -namespace ui { -namespace widgets { +namespace ui +{ +namespace widgets +{ class ImeWidget; } // namespace widgets } // namespace ui -namespace chat { +namespace chat +{ class ChatService; } -namespace chat::ui { +namespace chat::ui +{ -class ChatComposeScreen { -public: +class ChatComposeScreen +{ + public: enum class ActionIntent { Send, @@ -50,13 +55,13 @@ public: lv_obj_t* getObj() const; -private: + private: chat::ConversationId conv_; void setEnabled(bool enabled); lv_obj_t* toastHost() const; void showSendToast(bool ok, bool timeout, const char* message); - + void (*action_cb_)(ActionIntent intent, void*) = nullptr; void* action_cb_user_data_ = nullptr; diff --git a/src/ui/screens/chat/chat_compose_input.cpp b/src/ui/screens/chat/chat_compose_input.cpp index e4bb928e..b06c97f9 100644 --- a/src/ui/screens/chat/chat_compose_input.cpp +++ b/src/ui/screens/chat/chat_compose_input.cpp @@ -1,12 +1,16 @@ #include "chat_compose_input.h" -namespace chat::ui::compose::input { +namespace chat::ui::compose::input +{ -void setup_default_group_focus(const layout::Widgets& w) { - if (lv_group_t* g = lv_group_get_default()) { +void setup_default_group_focus(const layout::Widgets& w) +{ + if (lv_group_t* g = lv_group_get_default()) + { lv_group_add_obj(g, w.textarea); lv_group_add_obj(g, w.send_btn); - if (w.position_btn && !lv_obj_has_flag(w.position_btn, LV_OBJ_FLAG_HIDDEN)) { + if (w.position_btn && !lv_obj_has_flag(w.position_btn, LV_OBJ_FLAG_HIDDEN)) + { lv_group_add_obj(g, w.position_btn); } lv_group_add_obj(g, w.cancel_btn); @@ -16,7 +20,8 @@ void setup_default_group_focus(const layout::Widgets& w) { } void bind_textarea_events(const layout::Widgets& w, void* user_data, - lv_event_cb_t key_cb, lv_event_cb_t text_cb) { + lv_event_cb_t key_cb, lv_event_cb_t text_cb) +{ lv_obj_add_event_cb(w.textarea, text_cb, LV_EVENT_VALUE_CHANGED, user_data); lv_obj_add_event_cb(w.textarea, key_cb, LV_EVENT_KEY, user_data); } diff --git a/src/ui/screens/chat/chat_compose_input.h b/src/ui/screens/chat/chat_compose_input.h index 90a70c95..7b67c74d 100644 --- a/src/ui/screens/chat/chat_compose_input.h +++ b/src/ui/screens/chat/chat_compose_input.h @@ -1,10 +1,12 @@ #pragma once -#include "lvgl.h" #include "chat_compose_layout.h" +#include "lvgl.h" -namespace chat::ui::compose::input { +namespace chat::ui::compose::input +{ -struct State { +struct State +{ bool encoder_enter_focus_send = true; }; diff --git a/src/ui/screens/chat/chat_compose_layout.cpp b/src/ui/screens/chat/chat_compose_layout.cpp index 5bc6c060..70361618 100644 --- a/src/ui/screens/chat/chat_compose_layout.cpp +++ b/src/ui/screens/chat/chat_compose_layout.cpp @@ -29,9 +29,11 @@ */ #include "chat_compose_layout.h" -namespace chat::ui::compose::layout { +namespace chat::ui::compose::layout +{ -static lv_obj_t* create_btn_with_label(lv_obj_t* parent, int w, int h, const char* text) { +static lv_obj_t* create_btn_with_label(lv_obj_t* parent, int w, int h, const char* text) +{ lv_obj_t* btn = lv_btn_create(parent); lv_obj_set_size(btn, w, h); @@ -41,7 +43,8 @@ static lv_obj_t* create_btn_with_label(lv_obj_t* parent, int w, int h, const cha return btn; } -void create(lv_obj_t* parent, const Spec& spec, Widgets& w) { +void create(lv_obj_t* parent, const Spec& spec, Widgets& w) +{ w.container = lv_obj_create(parent); lv_obj_set_size(w.container, LV_PCT(100), LV_PCT(100)); lv_obj_set_flex_flow(w.container, LV_FLEX_FLOW_COLUMN); diff --git a/src/ui/screens/chat/chat_compose_layout.h b/src/ui/screens/chat/chat_compose_layout.h index ea1e5929..7dc95c6c 100644 --- a/src/ui/screens/chat/chat_compose_layout.h +++ b/src/ui/screens/chat/chat_compose_layout.h @@ -1,10 +1,12 @@ #pragma once -#include "lvgl.h" #include "../../widgets/top_bar.h" +#include "lvgl.h" -namespace chat::ui::compose::layout { +namespace chat::ui::compose::layout +{ -struct Spec { +struct Spec +{ int action_bar_h = 30; int action_pad_lr = 10; int action_pad_tb = 4; @@ -19,7 +21,8 @@ struct Spec { int btn_gap = 10; }; -struct Widgets { +struct Widgets +{ lv_obj_t* container = nullptr; lv_obj_t* content = nullptr; lv_obj_t* textarea = nullptr; diff --git a/src/ui/screens/chat/chat_compose_styles.cpp b/src/ui/screens/chat/chat_compose_styles.cpp index 10775e0b..bd51fede 100644 --- a/src/ui/screens/chat/chat_compose_styles.cpp +++ b/src/ui/screens/chat/chat_compose_styles.cpp @@ -1,7 +1,8 @@ #include "chat_compose_styles.h" #include "../../assets/fonts/fonts.h" -namespace chat::ui::compose::styles { +namespace chat::ui::compose::styles +{ static bool inited = false; @@ -13,7 +14,8 @@ static lv_style_t s_btn_basic; static lv_style_t s_btn_focused; static lv_style_t s_len_label; -void init_once() { +void init_once() +{ if (inited) return; inited = true; @@ -59,7 +61,8 @@ void init_once() { lv_style_set_text_color(&s_len_label, lv_color_hex(0x606060)); } -void apply_all(const layout::Widgets& w) { +void apply_all(const layout::Widgets& w) +{ init_once(); lv_obj_add_style(w.container, &s_container, 0); diff --git a/src/ui/screens/chat/chat_compose_styles.h b/src/ui/screens/chat/chat_compose_styles.h index bb61e2a4..83853a3b 100644 --- a/src/ui/screens/chat/chat_compose_styles.h +++ b/src/ui/screens/chat/chat_compose_styles.h @@ -1,8 +1,9 @@ #pragma once -#include "lvgl.h" #include "chat_compose_layout.h" +#include "lvgl.h" -namespace chat::ui::compose::styles { +namespace chat::ui::compose::styles +{ void init_once(); void apply_all(const layout::Widgets& w); diff --git a/src/ui/screens/chat/chat_conversation_components.cpp b/src/ui/screens/chat/chat_conversation_components.cpp index 6665ea68..10a9507c 100644 --- a/src/ui/screens/chat/chat_conversation_components.cpp +++ b/src/ui/screens/chat/chat_conversation_components.cpp @@ -4,22 +4,25 @@ */ #include "chat_conversation_components.h" -#include "../ui_common.h" #include "../../../app/app_context.h" +#include "../ui_common.h" +#include "chat_conversation_input.h" #include "chat_conversation_layout.h" #include "chat_conversation_styles.h" -#include "chat_conversation_input.h" #include #include -#include #include +#include -namespace chat { -namespace ui { +namespace chat +{ +namespace ui +{ // Keep original constant meaning (bubble max width and 70% rule) -namespace { +namespace +{ constexpr lv_coord_t kBubbleMaxWidth = 322; // same as original constexpr uint32_t kSecondsPerDay = 24U * 60U * 60U; constexpr uint32_t kSecondsPerMonth = 30U * kSecondsPerDay; @@ -43,7 +46,8 @@ static void format_hms(char* out, size_t out_len, uint32_t seconds) static void format_message_time(char* out, size_t out_len, uint32_t ts) { if (!out || out_len == 0) return; - if (ts == 0) { + if (ts == 0) + { snprintf(out, out_len, "--"); return; } @@ -52,32 +56,40 @@ static void format_message_time(char* out, size_t out_len, uint32_t ts) bool ts_is_epoch = is_valid_epoch_ts(ts); bool now_is_epoch = is_valid_epoch_ts(now_epoch); uint32_t now_secs = now_is_epoch ? now_epoch : static_cast(millis() / 1000U); - if (ts_is_epoch && !now_is_epoch) { + if (ts_is_epoch && !now_is_epoch) + { ts_is_epoch = false; } - if (now_secs < ts) { + if (now_secs < ts) + { now_secs = ts; } uint32_t diff = now_secs - ts; - if (!ts_is_epoch) { - if (diff < 60U) { + if (!ts_is_epoch) + { + if (diff < 60U) + { snprintf(out, out_len, "now"); return; } - if (diff < 3600U) { + if (diff < 3600U) + { snprintf(out, out_len, "%um", static_cast(diff / 60U)); return; } - if (diff < kSecondsPerDay) { + if (diff < kSecondsPerDay) + { snprintf(out, out_len, "%uh", static_cast(diff / 3600U)); return; } - if (diff < kSecondsPerMonth) { + if (diff < kSecondsPerMonth) + { snprintf(out, out_len, "%ud", static_cast(diff / kSecondsPerDay)); return; } - if (diff < kSecondsPerYear) { + if (diff < kSecondsPerYear) + { snprintf(out, out_len, "%umo", static_cast(diff / kSecondsPerMonth)); return; } @@ -87,9 +99,12 @@ static void format_message_time(char* out, size_t out_len, uint32_t ts) time_t t = ui_apply_timezone_offset(static_cast(ts)); struct tm* info = gmtime(&t); - if (info) { + if (info) + { strftime(out, out_len, "%H:%M", info); - } else { + } + else + { snprintf(out, out_len, "--"); } } @@ -102,9 +117,12 @@ ChatConversationScreen::ChatConversationScreen(lv_obj_t* parent, chat::Conversat guard_->pending_async = 0; lv_obj_t* active = lv_screen_active(); - if (!active) { + if (!active) + { Serial.printf("[ChatConversation] WARNING: lv_screen_active() is null\n"); - } else { + } + else + { Serial.printf("[ChatConversation] init: active=%p parent=%p\n", active, parent); } @@ -131,18 +149,22 @@ ChatConversationScreen::ChatConversationScreen(lv_obj_t* parent, chat::Conversat ::ui::widgets::top_bar_set_title(top_bar_, title); ::ui::widgets::top_bar_set_right_text(top_bar_, ""); ::ui::widgets::top_bar_set_back_callback(top_bar_, handle_back, this); - if (top_bar_.container) { + if (top_bar_.container) + { lv_obj_move_to_index(top_bar_.container, 0); } - if (container_) { + if (container_) + { lv_obj_add_event_cb(container_, on_root_deleted, LV_EVENT_DELETE, this); } - if (container_ && !lv_obj_is_valid(container_)) { + if (container_ && !lv_obj_is_valid(container_)) + { Serial.printf("[ChatConversation] WARNING: container invalid\n"); } - if (msg_list_ && !lv_obj_is_valid(msg_list_)) { + if (msg_list_ && !lv_obj_is_valid(msg_list_)) + { Serial.printf("[ChatConversation] WARNING: msg_list invalid\n"); } @@ -157,12 +179,15 @@ ChatConversationScreen::ChatConversationScreen(lv_obj_t* parent, chat::Conversat ChatConversationScreen::~ChatConversationScreen() { - if (container_ && lv_obj_is_valid(container_)) { + if (container_ && lv_obj_is_valid(container_)) + { lv_obj_del(container_); } - if (guard_) { + if (guard_) + { guard_->alive = false; - if (guard_->pending_async == 0) { + if (guard_->pending_async == 0) + { delete guard_; } guard_ = nullptr; @@ -171,12 +196,15 @@ ChatConversationScreen::~ChatConversationScreen() void ChatConversationScreen::addMessage(const chat::ChatMessage& msg) { - if (!guard_ || !guard_->alive || !msg_list_ || !lv_obj_is_valid(msg_list_)) { + if (!guard_ || !guard_->alive || !msg_list_ || !lv_obj_is_valid(msg_list_)) + { return; } - if (messages_.size() >= MAX_DISPLAY_MESSAGES) { + if (messages_.size() >= MAX_DISPLAY_MESSAGES) + { MessageItem& oldest = messages_[0]; - if (oldest.container) { + if (oldest.container) + { lv_obj_del(oldest.container); } messages_.erase(messages_.begin()); @@ -188,11 +216,14 @@ void ChatConversationScreen::addMessage(const chat::ChatMessage& msg) void ChatConversationScreen::clearMessages() { - if (!guard_ || !guard_->alive) { + if (!guard_ || !guard_->alive) + { return; } - for (auto& item : messages_) { - if (item.container) { + for (auto& item : messages_) + { + if (item.container) + { lv_obj_del(item.container); } } @@ -201,14 +232,16 @@ void ChatConversationScreen::clearMessages() void ChatConversationScreen::scrollToBottom() { - if (guard_ && guard_->alive && msg_list_) { + if (guard_ && guard_->alive && msg_list_) + { lv_obj_scroll_to_y(msg_list_, LV_COORD_MAX, LV_ANIM_OFF); } } void ChatConversationScreen::setActionCallback(void (*cb)(ActionIntent intent, void*), void* user_data) { - if (!guard_ || !guard_->alive) { + if (!guard_ || !guard_->alive) + { return; } action_cb_ = cb; @@ -217,18 +250,21 @@ void ChatConversationScreen::setActionCallback(void (*cb)(ActionIntent intent, v void ChatConversationScreen::setHeaderText(const char* title, const char* status) { - if (!guard_ || !guard_->alive) { + if (!guard_ || !guard_->alive) + { return; } ::ui::widgets::top_bar_set_title(top_bar_, title); - if (status != nullptr) { + if (status != nullptr) + { ::ui::widgets::top_bar_set_right_text(top_bar_, status); } } void ChatConversationScreen::updateBatteryFromBoard() { - if (!guard_ || !guard_->alive) { + if (!guard_ || !guard_->alive) + { return; } ui_update_top_bar_battery(top_bar_); @@ -236,7 +272,8 @@ void ChatConversationScreen::updateBatteryFromBoard() void ChatConversationScreen::setBackCallback(void (*cb)(void*), void* user_data) { - if (!guard_ || !guard_->alive) { + if (!guard_ || !guard_->alive) + { return; } back_cb_ = cb; @@ -245,7 +282,8 @@ void ChatConversationScreen::setBackCallback(void (*cb)(void*), void* user_data) void ChatConversationScreen::createMessageItem(const chat::ChatMessage& msg) { - if (!guard_ || !guard_->alive || !msg_list_) { + if (!guard_ || !guard_->alive || !msg_list_) + { return; } MessageItem item; @@ -260,12 +298,14 @@ void ChatConversationScreen::createMessageItem(const chat::ChatMessage& msg) // Compute bubble max width (same logic as original) lv_coord_t max_bubble_w = kBubbleMaxWidth; lv_coord_t list_w = chat::ui::layout::get_msg_list_content_width(msg_list_); - if (list_w > 0) { + if (list_w > 0) + { // original: candidate = (list_w - 2 * kPadX) * 7 / 10 // kPadX lives in styles; but for behavior parity we replicate formula using known 8px. constexpr lv_coord_t kPadX = 8; lv_coord_t candidate = (list_w - 2 * kPadX) * 7 / 10; - if (candidate > 0 && candidate < max_bubble_w) { + if (candidate > 0 && candidate < max_bubble_w) + { max_bubble_w = candidate; } } @@ -278,13 +318,18 @@ void ChatConversationScreen::createMessageItem(const chat::ChatMessage& msg) chat::ui::conversation::styles::apply_bubble_time(item.time_label); char time_buf[16]; format_message_time(time_buf, sizeof(time_buf), msg.timestamp); - if (conv_.peer == 0) { + if (conv_.peer == 0) + { std::string sender; - if (msg.from == 0) { + if (msg.from == 0) + { sender = app::AppContext::getInstance().getConfig().short_name; - } else { + } + else + { sender = app::AppContext::getInstance().getContactService().getContactName(msg.from); - if (sender.empty()) { + if (sender.empty()) + { char buf[16]; snprintf(buf, sizeof(buf), "%04lX", static_cast(msg.from & 0xFFFF)); @@ -293,7 +338,9 @@ void ChatConversationScreen::createMessageItem(const chat::ChatMessage& msg) } std::string line = sender + " " + time_buf; lv_label_set_text(item.time_label, line.c_str()); - } else { + } + else + { lv_label_set_text(item.time_label, time_buf); } @@ -323,11 +370,13 @@ void ChatConversationScreen::createMessageItem(const chat::ChatMessage& msg) void ChatConversationScreen::action_event_cb(lv_event_t* e) { auto* ctx = static_cast(lv_event_get_user_data(e)); - if (!ctx || !ctx->screen) { + if (!ctx || !ctx->screen) + { return; } ChatConversationScreen* screen = ctx->screen; - if (!screen->guard_ || !screen->guard_->alive) { + if (!screen->guard_ || !screen->guard_->alive) + { return; } screen->schedule_action_async(ctx->intent); @@ -336,16 +385,20 @@ void ChatConversationScreen::action_event_cb(lv_event_t* e) void ChatConversationScreen::async_action_cb(void* user_data) { auto* payload = static_cast(user_data); - if (!payload) { + if (!payload) + { return; } LifetimeGuard* guard = payload->guard; - if (guard && guard->alive && payload->action_cb) { + if (guard && guard->alive && payload->action_cb) + { payload->action_cb(payload->intent, payload->user_data); } - if (guard && guard->pending_async > 0) { + if (guard && guard->pending_async > 0) + { guard->pending_async--; - if (!guard->alive && guard->pending_async == 0) { + if (!guard->alive && guard->pending_async == 0) + { delete guard; } } @@ -355,7 +408,8 @@ void ChatConversationScreen::async_action_cb(void* user_data) void ChatConversationScreen::on_root_deleted(lv_event_t* e) { auto* screen = static_cast(lv_event_get_user_data(e)); - if (!screen) { + if (!screen) + { return; } screen->handle_root_deleted(); @@ -364,7 +418,8 @@ void ChatConversationScreen::on_root_deleted(lv_event_t* e) void ChatConversationScreen::handle_back(void* user_data) { ChatConversationScreen* screen = static_cast(user_data); - if (!screen || !screen->guard_ || !screen->guard_->alive) { + if (!screen || !screen->guard_ || !screen->guard_->alive) + { return; } screen->schedule_back_async(); @@ -373,16 +428,20 @@ void ChatConversationScreen::handle_back(void* user_data) void ChatConversationScreen::async_back_cb(void* user_data) { auto* payload = static_cast(user_data); - if (!payload) { + if (!payload) + { return; } LifetimeGuard* guard = payload->guard; - if (guard && guard->alive && payload->back_cb) { + if (guard && guard->alive && payload->back_cb) + { payload->back_cb(payload->user_data); } - if (guard && guard->pending_async > 0) { + if (guard && guard->pending_async > 0) + { guard->pending_async--; - if (!guard->alive && guard->pending_async == 0) { + if (!guard->alive && guard->pending_async == 0) + { delete guard; } } @@ -394,11 +453,13 @@ lv_timer_t* ChatConversationScreen::add_timer(lv_timer_cb_t cb, void* user_data, TimerDomain domain) { - if (!guard_ || !guard_->alive) { + if (!guard_ || !guard_->alive) + { return nullptr; } lv_timer_t* timer = lv_timer_create(cb, period_ms, user_data); - if (timer) { + if (timer) + { TimerEntry entry; entry.timer = timer; entry.domain = domain; @@ -409,25 +470,31 @@ lv_timer_t* ChatConversationScreen::add_timer(lv_timer_cb_t cb, void ChatConversationScreen::clear_timers(TimerDomain domain) { - if (timers_.empty()) { + if (timers_.empty()) + { return; } - for (auto& entry : timers_) { - if (entry.timer && entry.domain == domain) { + for (auto& entry : timers_) + { + if (entry.timer && entry.domain == domain) + { lv_timer_del(entry.timer); entry.timer = nullptr; } } timers_.erase( std::remove_if(timers_.begin(), timers_.end(), - [](const TimerEntry& entry) { return entry.timer == nullptr; }), + [](const TimerEntry& entry) + { return entry.timer == nullptr; }), timers_.end()); } void ChatConversationScreen::clear_all_timers() { - for (auto& entry : timers_) { - if (entry.timer) { + for (auto& entry : timers_) + { + if (entry.timer) + { lv_timer_del(entry.timer); entry.timer = nullptr; } @@ -437,11 +504,13 @@ void ChatConversationScreen::clear_all_timers() void ChatConversationScreen::handle_root_deleted() { - if ((!guard_ || !guard_->alive) && container_ == nullptr && msg_list_ == nullptr) { + if ((!guard_ || !guard_->alive) && container_ == nullptr && msg_list_ == nullptr) + { return; } - if (guard_) { + if (guard_) + { guard_->alive = false; } action_cb_ = nullptr; @@ -453,7 +522,8 @@ void ChatConversationScreen::handle_root_deleted() chat::ui::conversation::input::cleanup(&input_binding_); clear_all_timers(); - if (top_bar_.back_btn) { + if (top_bar_.back_btn) + { ::ui::widgets::top_bar_set_back_callback(top_bar_, nullptr, nullptr); } @@ -466,7 +536,8 @@ void ChatConversationScreen::handle_root_deleted() void ChatConversationScreen::schedule_action_async(ActionIntent intent) { - if (!guard_ || !guard_->alive || !action_cb_) { + if (!guard_ || !guard_->alive || !action_cb_) + { return; } auto* payload = new ActionPayload(); @@ -480,7 +551,8 @@ void ChatConversationScreen::schedule_action_async(ActionIntent intent) void ChatConversationScreen::schedule_back_async() { - if (!guard_ || !guard_->alive || !back_cb_) { + if (!guard_ || !guard_->alive || !back_cb_) + { return; } auto* payload = new BackPayload(); diff --git a/src/ui/screens/chat/chat_conversation_components.h b/src/ui/screens/chat/chat_conversation_components.h index 8b180a31..3ff086ab 100644 --- a/src/ui/screens/chat/chat_conversation_components.h +++ b/src/ui/screens/chat/chat_conversation_components.h @@ -4,18 +4,22 @@ */ #pragma once -#include "lvgl.h" #include "../../chat/domain/chat_types.h" #include "../../widgets/top_bar.h" #include "chat_conversation_input.h" +#include "lvgl.h" #include -namespace chat { -namespace ui { +namespace chat +{ +namespace ui +{ -class ChatConversationScreen { -public: - enum class ActionIntent { +class ChatConversationScreen +{ + public: + enum class ActionIntent + { Reply }; @@ -40,35 +44,41 @@ public: void updateBatteryFromBoard(); void setBackCallback(void (*cb)(void*), void* user_data); -private: - enum class TimerDomain { + private: + enum class TimerDomain + { ScreenGeneral, Input }; - struct TimerEntry { + struct TimerEntry + { lv_timer_t* timer = nullptr; TimerDomain domain = TimerDomain::ScreenGeneral; }; - struct LifetimeGuard { + struct LifetimeGuard + { bool alive = false; int pending_async = 0; }; - struct ActionContext { + struct ActionContext + { ChatConversationScreen* screen = nullptr; ActionIntent intent = ActionIntent::Reply; }; - struct ActionPayload { + struct ActionPayload + { LifetimeGuard* guard = nullptr; void (*action_cb)(ActionIntent intent, void*) = nullptr; void* user_data = nullptr; ActionIntent intent = ActionIntent::Reply; }; - struct BackPayload { + struct BackPayload + { LifetimeGuard* guard = nullptr; void (*back_cb)(void*) = nullptr; void* user_data = nullptr; @@ -88,12 +98,13 @@ private: void (*back_cb_)(void*) = nullptr; void* back_cb_user_data_ = nullptr; - struct MessageItem { + struct MessageItem + { chat::ChatMessage msg; - lv_obj_t* container = nullptr; // row - lv_obj_t* text_label = nullptr; // inside bubble - lv_obj_t* time_label = nullptr; // reserved (not used) - lv_obj_t* status_label = nullptr;// reserved (not used) + lv_obj_t* container = nullptr; // row + lv_obj_t* text_label = nullptr; // inside bubble + lv_obj_t* time_label = nullptr; // reserved (not used) + lv_obj_t* status_label = nullptr; // reserved (not used) }; std::vector messages_; diff --git a/src/ui/screens/chat/chat_conversation_input.cpp b/src/ui/screens/chat/chat_conversation_input.cpp index 960c47f4..bd7b42b6 100644 --- a/src/ui/screens/chat/chat_conversation_input.cpp +++ b/src/ui/screens/chat/chat_conversation_input.cpp @@ -1,6 +1,6 @@ -#include #include "chat_conversation_input.h" #include "chat_conversation_components.h" +#include #define CHAT_CONV_INPUT_DEBUG 1 #if CHAT_CONV_INPUT_DEBUG @@ -9,13 +9,15 @@ #define CHAT_CONV_INPUT_LOG(...) #endif -namespace chat::ui::conversation::input { +namespace chat::ui::conversation::input +{ -namespace { +namespace +{ constexpr int kEncoderKeyRotateUp = 19; constexpr int kEncoderKeyRotateDown = 20; constexpr lv_coord_t kScrollStep = 24; -} +} // namespace static void on_msg_list_key(lv_event_t* e) { @@ -24,25 +26,33 @@ static void on_msg_list_key(lv_event_t* e) uint32_t key = lv_event_get_key(e); - if (lv_group_t* g = lv_group_get_default()) { - if (key == LV_KEY_ENTER) { + if (lv_group_t* g = lv_group_get_default()) + { + if (key == LV_KEY_ENTER) + { lv_group_set_editing(g, !lv_group_get_editing(g)); lv_event_stop_processing(e); return; } - if (!lv_group_get_editing(g)) { + if (!lv_group_get_editing(g)) + { return; } lv_coord_t delta = 0; - if (key == LV_KEY_UP || key == kEncoderKeyRotateUp) { + if (key == LV_KEY_UP || key == kEncoderKeyRotateUp) + { delta = -kScrollStep; - } else if (key == LV_KEY_DOWN || key == kEncoderKeyRotateDown) { + } + else if (key == LV_KEY_DOWN || key == kEncoderKeyRotateDown) + { delta = kScrollStep; } - if (delta != 0) { - if (lv_obj_t* msg_list = screen->getMsgList()) { + if (delta != 0) + { + if (lv_obj_t* msg_list = screen->getMsgList()) + { lv_obj_scroll_by(msg_list, 0, delta, LV_ANIM_OFF); lv_event_stop_processing(e); } @@ -52,7 +62,8 @@ static void on_msg_list_key(lv_event_t* e) void init(ChatConversationScreen* screen, Binding* binding) { - if (!binding) { + if (!binding) + { return; } binding->bound = false; @@ -61,25 +72,30 @@ void init(ChatConversationScreen* screen, Binding* binding) binding->back_btn = screen ? screen->getBackBtn() : nullptr; binding->group = lv_group_get_default(); - if (!screen) { + if (!screen) + { CHAT_CONV_INPUT_LOG("[ChatConversationInput] init (no screen)\n"); return; } - if (!binding->group) { + if (!binding->group) + { CHAT_CONV_INPUT_LOG("[ChatConversationInput] init (no group)\n"); return; } - if (binding->msg_list) { + if (binding->msg_list) + { lv_group_add_obj(binding->group, binding->msg_list); lv_group_focus_obj(binding->msg_list); lv_group_set_editing(binding->group, true); lv_obj_add_event_cb(binding->msg_list, on_msg_list_key, LV_EVENT_KEY, screen); } - if (binding->reply_btn) { + if (binding->reply_btn) + { lv_group_add_obj(binding->group, binding->reply_btn); } - if (binding->back_btn) { + if (binding->back_btn) + { lv_group_add_obj(binding->group, binding->back_btn); } binding->bound = true; @@ -88,17 +104,22 @@ void init(ChatConversationScreen* screen, Binding* binding) void cleanup(Binding* binding) { - if (!binding || !binding->bound) { + if (!binding || !binding->bound) + { return; } - if (binding->group) { - if (binding->msg_list) { + if (binding->group) + { + if (binding->msg_list) + { lv_group_remove_obj(binding->msg_list); } - if (binding->reply_btn) { + if (binding->reply_btn) + { lv_group_remove_obj(binding->reply_btn); } - if (binding->back_btn) { + if (binding->back_btn) + { lv_group_remove_obj(binding->back_btn); } } diff --git a/src/ui/screens/chat/chat_conversation_input.h b/src/ui/screens/chat/chat_conversation_input.h index 09391cbb..d7afe7ec 100644 --- a/src/ui/screens/chat/chat_conversation_input.h +++ b/src/ui/screens/chat/chat_conversation_input.h @@ -2,13 +2,16 @@ #include "lvgl.h" -namespace chat::ui { +namespace chat::ui +{ class ChatConversationScreen; -namespace conversation::input { +namespace conversation::input +{ -struct Binding { +struct Binding +{ lv_obj_t* msg_list = nullptr; lv_obj_t* reply_btn = nullptr; lv_obj_t* back_btn = nullptr; diff --git a/src/ui/screens/chat/chat_conversation_layout.cpp b/src/ui/screens/chat/chat_conversation_layout.cpp index 09380c1a..47155efe 100644 --- a/src/ui/screens/chat/chat_conversation_layout.cpp +++ b/src/ui/screens/chat/chat_conversation_layout.cpp @@ -40,10 +40,11 @@ * - Visual style (colors/radius/padding) lives in styles.*. */ -#include #include "chat_conversation_layout.h" +#include -namespace chat::ui::layout { +namespace chat::ui::layout +{ static void make_non_scrollable(lv_obj_t* obj) { @@ -140,11 +141,14 @@ void align_message_row(lv_obj_t* row, bool is_self) { // Match original behavior: // self -> row aligns to END, other -> START - if (is_self) { + if (is_self) + { lv_obj_set_flex_align(row, LV_FLEX_ALIGN_END, LV_FLEX_ALIGN_CENTER, LV_FLEX_ALIGN_CENTER); - } else { + } + else + { lv_obj_set_flex_align(row, LV_FLEX_ALIGN_START, LV_FLEX_ALIGN_CENTER, LV_FLEX_ALIGN_CENTER); diff --git a/src/ui/screens/chat/chat_conversation_layout.h b/src/ui/screens/chat/chat_conversation_layout.h index 7c6010e6..a28ffba0 100644 --- a/src/ui/screens/chat/chat_conversation_layout.h +++ b/src/ui/screens/chat/chat_conversation_layout.h @@ -1,11 +1,13 @@ #pragma once -#include "lvgl.h" #include "../../chat/domain/chat_types.h" +#include "lvgl.h" -namespace chat::ui::layout { +namespace chat::ui::layout +{ -struct ConversationWidgets { +struct ConversationWidgets +{ lv_obj_t* root = nullptr; lv_obj_t* msg_list = nullptr; diff --git a/src/ui/screens/chat/chat_conversation_styles.cpp b/src/ui/screens/chat/chat_conversation_styles.cpp index c96d3144..5b8b85b2 100644 --- a/src/ui/screens/chat/chat_conversation_styles.cpp +++ b/src/ui/screens/chat/chat_conversation_styles.cpp @@ -1,7 +1,8 @@ #include "chat_conversation_styles.h" #include "../../assets/fonts/fonts.h" -namespace chat::ui::conversation::styles { +namespace chat::ui::conversation::styles +{ static bool inited = false; @@ -30,8 +31,8 @@ static constexpr lv_coord_t kBubblePadY = 6; static constexpr lv_coord_t kBubbleRadius = 12; static const lv_color_t kBubbleOther = lv_color_hex(0xE5F0FF); -static const lv_color_t kBubbleSelf = lv_color_hex(0xFFF4E0); -static const lv_color_t kTextColor = lv_color_hex(0x202020); +static const lv_color_t kBubbleSelf = lv_color_hex(0xFFF4E0); +static const lv_color_t kTextColor = lv_color_hex(0x202020); void init_once() { diff --git a/src/ui/screens/chat/chat_conversation_styles.h b/src/ui/screens/chat/chat_conversation_styles.h index 8ceed165..90f1fb3c 100644 --- a/src/ui/screens/chat/chat_conversation_styles.h +++ b/src/ui/screens/chat/chat_conversation_styles.h @@ -2,7 +2,8 @@ #include "lvgl.h" -namespace chat::ui::conversation::styles { +namespace chat::ui::conversation::styles +{ void init_once(); diff --git a/src/ui/screens/chat/chat_message_list_components.cpp b/src/ui/screens/chat/chat_message_list_components.cpp index 96869e40..a34f1eb8 100644 --- a/src/ui/screens/chat/chat_message_list_components.cpp +++ b/src/ui/screens/chat/chat_message_list_components.cpp @@ -6,21 +6,24 @@ #include "chat_message_list_components.h" #include "../ui_common.h" +#include "chat_message_list_input.h" #include "chat_message_list_layout.h" #include "chat_message_list_styles.h" -#include "chat_message_list_input.h" #include #include +#include #include #include -#include -namespace chat { -namespace ui { +namespace chat +{ +namespace ui +{ // ---- small helper (logic only, unchanged) ---- -namespace { +namespace +{ constexpr uint32_t kMinValidEpochSeconds = 1577836800U; // 2020-01-01 constexpr uint32_t kSecondsPerDay = 24U * 60U * 60U; constexpr uint32_t kSecondsPerMonth = 30U * kSecondsPerDay; @@ -34,37 +37,54 @@ static bool is_valid_epoch_ts(uint32_t ts) static void format_time_hhmm(char out[16], uint32_t ts) { - if (ts == 0) { + if (ts == 0) + { snprintf(out, 16, "--:--"); return; } - if (!is_valid_epoch_ts(ts)) { + if (!is_valid_epoch_ts(ts)) + { uint32_t now_epoch = static_cast(time(nullptr)); uint32_t now_secs = is_valid_epoch_ts(now_epoch) ? now_epoch : static_cast(millis() / 1000U); - if (now_secs < ts) { + if (now_secs < ts) + { now_secs = ts; } uint32_t diff = now_secs - ts; - if (diff < 60U) { + if (diff < 60U) + { snprintf(out, 16, "now"); - } else if (diff < 3600U) { + } + else if (diff < 3600U) + { snprintf(out, 16, "%um", static_cast(diff / 60U)); - } else if (diff < kSecondsPerDay) { + } + else if (diff < kSecondsPerDay) + { snprintf(out, 16, "%uh", static_cast(diff / 3600U)); - } else if (diff < kSecondsPerMonth) { + } + else if (diff < kSecondsPerMonth) + { snprintf(out, 16, "%ud", static_cast(diff / kSecondsPerDay)); - } else if (diff < kSecondsPerYear) { + } + else if (diff < kSecondsPerYear) + { snprintf(out, 16, "%umo", static_cast(diff / kSecondsPerMonth)); - } else { + } + else + { snprintf(out, 16, "%uy", static_cast(diff / kSecondsPerYear)); } return; } time_t t = ui_apply_timezone_offset(static_cast(ts)); struct tm* info = gmtime(&t); - if (info) { + if (info) + { strftime(out, 16, "%H:%M", info); - } else { + } + else + { snprintf(out, 16, "--:--"); } } @@ -108,9 +128,12 @@ ChatMessageListScreen::ChatMessageListScreen(lv_obj_t* parent) guard_->pending_async = 0; lv_obj_t* active = lv_screen_active(); - if (!active) { + if (!active) + { Serial.printf("[ChatMessageList] WARNING: lv_screen_active() is null\n"); - } else { + } + else + { Serial.printf("[ChatMessageList] init: active=%p parent=%p\n", active, parent); } @@ -139,33 +162,40 @@ ChatMessageListScreen::ChatMessageListScreen(lv_obj_t* parent) ::ui::widgets::top_bar_set_title(top_bar_, "MESSAGES"); ::ui::widgets::top_bar_set_right_text(top_bar_, "--:-- --%"); ::ui::widgets::top_bar_set_back_callback(top_bar_, handle_back, this); - if (top_bar_.container) { + if (top_bar_.container) + { lv_obj_move_to_index(top_bar_.container, 0); } - if (container_) { + if (container_) + { lv_obj_add_event_cb(container_, on_root_deleted, LV_EVENT_DELETE, this); } // ---------- Filter events ---------- - if (direct_btn_) { + if (direct_btn_) + { lv_obj_add_event_cb(direct_btn_, filter_focus_cb, LV_EVENT_FOCUSED, this); lv_obj_add_event_cb(direct_btn_, filter_click_cb, LV_EVENT_CLICKED, this); } - if (broadcast_btn_) { + if (broadcast_btn_) + { lv_obj_add_event_cb(broadcast_btn_, filter_focus_cb, LV_EVENT_FOCUSED, this); lv_obj_add_event_cb(broadcast_btn_, filter_click_cb, LV_EVENT_CLICKED, this); } - if (team_btn_) { + if (team_btn_) + { lv_obj_add_event_cb(team_btn_, filter_focus_cb, LV_EVENT_FOCUSED, this); lv_obj_add_event_cb(team_btn_, filter_click_cb, LV_EVENT_CLICKED, this); } updateFilterHighlight(); - if (container_ && !lv_obj_is_valid(container_)) { + if (container_ && !lv_obj_is_valid(container_)) + { Serial.printf("[ChatMessageList] WARNING: container invalid\n"); } - if (list_panel_ && !lv_obj_is_valid(list_panel_)) { + if (list_panel_ && !lv_obj_is_valid(list_panel_)) + { Serial.printf("[ChatMessageList] WARNING: list_panel invalid\n"); } @@ -177,14 +207,17 @@ ChatMessageListScreen::ChatMessageListScreen(lv_obj_t* parent) ChatMessageListScreen::~ChatMessageListScreen() { - if (container_ && lv_obj_is_valid(container_)) { + if (container_ && lv_obj_is_valid(container_)) + { lv_obj_del(container_); } - if (guard_) { + if (guard_) + { guard_->alive = false; guard_->owner_dead = true; - if (guard_->pending_async == 0) { + if (guard_->pending_async == 0) + { delete guard_; } guard_ = nullptr; @@ -193,25 +226,33 @@ ChatMessageListScreen::~ChatMessageListScreen() void ChatMessageListScreen::setConversations(const std::vector& convs) { - if (!guard_ || !guard_->alive) { + if (!guard_ || !guard_->alive) + { return; } convs_ = convs; bool has_team = false; - for (const auto& conv : convs_) { - if (is_team_conversation(conv.id)) { + for (const auto& conv : convs_) + { + if (is_team_conversation(conv.id)) + { has_team = true; break; } } - if (team_btn_) { - if (has_team) { + if (team_btn_) + { + if (has_team) + { lv_obj_clear_flag(team_btn_, LV_OBJ_FLAG_HIDDEN); - } else { + } + else + { lv_obj_add_flag(team_btn_, LV_OBJ_FLAG_HIDDEN); } } - if (!has_team && filter_mode_ == FilterMode::Team) { + if (!has_team && filter_mode_ == FilterMode::Team) + { filter_mode_ = FilterMode::Broadcast; } updateFilterHighlight(); @@ -220,22 +261,27 @@ void ChatMessageListScreen::setConversations(const std::vectoralive) { + if (!guard_ || !guard_->alive) + { return; } if (index >= 0 && index < static_cast(items_.size()) && - items_[index].btn != nullptr) { + items_[index].btn != nullptr) + { selected_index_ = index; } } void ChatMessageListScreen::setSelectedConversation(const chat::ConversationId& conv) { - if (!guard_ || !guard_->alive) { + if (!guard_ || !guard_->alive) + { return; } - for (size_t i = 0; i < items_.size(); ++i) { - if (items_[i].conv == conv) { + for (size_t i = 0; i < items_.size(); ++i) + { + if (items_[i].conv == conv) + { setSelected(static_cast(i)); return; } @@ -244,11 +290,13 @@ void ChatMessageListScreen::setSelectedConversation(const chat::ConversationId& chat::ConversationId ChatMessageListScreen::getSelectedConversation() const { - if (!guard_ || !guard_->alive) { + if (!guard_ || !guard_->alive) + { return chat::ConversationId(); } if (selected_index_ >= 0 && - selected_index_ < static_cast(items_.size())) { + selected_index_ < static_cast(items_.size())) + { return items_[selected_index_].conv; } return chat::ConversationId(); @@ -256,10 +304,12 @@ chat::ConversationId ChatMessageListScreen::getSelectedConversation() const lv_obj_t* ChatMessageListScreen::getItemButton(size_t index) const { - if (!guard_ || !guard_->alive) { + if (!guard_ || !guard_->alive) + { return nullptr; } - if (index >= items_.size()) { + if (index >= items_.size()) + { return nullptr; } return items_[index].btn; @@ -269,7 +319,8 @@ void ChatMessageListScreen::setActionCallback( void (*cb)(ActionIntent intent, const chat::ConversationId& conv, void*), void* user_data) { - if (!guard_ || !guard_->alive) { + if (!guard_ || !guard_->alive) + { return; } action_cb_ = cb; @@ -278,7 +329,8 @@ void ChatMessageListScreen::setActionCallback( void ChatMessageListScreen::updateBatteryFromBoard() { - if (!guard_ || !guard_->alive) { + if (!guard_ || !guard_->alive) + { return; } ui_update_top_bar_battery(top_bar_); @@ -289,7 +341,8 @@ void ChatMessageListScreen::updateBatteryFromBoard() // ------------------------------------------------ void ChatMessageListScreen::rebuildList() { - if (!guard_ || !guard_->alive || !list_panel_ || !lv_obj_is_valid(list_panel_)) { + if (!guard_ || !guard_->alive || !list_panel_ || !lv_obj_is_valid(list_panel_)) + { return; } // Same behavior: clear and rebuild @@ -299,21 +352,28 @@ void ChatMessageListScreen::rebuildList() std::vector filtered; filtered.reserve(convs_.size()); - for (const auto& conv : convs_) { - if (is_team_conversation(conv.id)) { - if (filter_mode_ == FilterMode::Team) { + for (const auto& conv : convs_) + { + if (is_team_conversation(conv.id)) + { + if (filter_mode_ == FilterMode::Team) + { filtered.push_back(conv); } continue; } - if (filter_mode_ == FilterMode::Direct && conv.id.peer != 0) { + if (filter_mode_ == FilterMode::Direct && conv.id.peer != 0) + { filtered.push_back(conv); - } else if (filter_mode_ == FilterMode::Broadcast && conv.id.peer == 0) { + } + else if (filter_mode_ == FilterMode::Broadcast && conv.id.peer == 0) + { filtered.push_back(conv); } } - for (const auto& conv : filtered) { + for (const auto& conv : filtered) + { MessageItem item{}; item.conv = conv.id; item.unread_count = conv.unread; @@ -343,11 +403,14 @@ void ChatMessageListScreen::rebuildList() format_time_hhmm(time_buf, conv.last_timestamp); lv_label_set_text(item.time_label, time_buf); - if (conv.unread > 0) { + if (conv.unread > 0) + { char unread_str[16]; snprintf(unread_str, sizeof(unread_str), "%d", conv.unread); lv_label_set_text(item.unread_label, unread_str); - } else { + } + else + { lv_label_set_text(item.unread_label, ""); } @@ -357,7 +420,8 @@ void ChatMessageListScreen::rebuildList() items_.push_back(item); } - if (items_.empty()) { + if (items_.empty()) + { lv_obj_t* placeholder = chat::ui::layout::create_placeholder(list_panel_); chat::ui::message_list::styles::apply_label_placeholder(placeholder); lv_label_set_text(placeholder, "No messages"); @@ -375,7 +439,8 @@ void ChatMessageListScreen::rebuildList() lv_obj_center(back_label); lv_obj_add_event_cb(list_back_btn_, list_back_event_cb, LV_EVENT_CLICKED, this); - if (!items_.empty()) { + if (!items_.empty()) + { setSelected(0); } @@ -386,13 +451,16 @@ void ChatMessageListScreen::item_event_cb(lv_event_t* e) { auto* screen = static_cast(lv_event_get_user_data(e)); - if (!screen || !screen->guard_ || !screen->guard_->alive) { + if (!screen || !screen->guard_ || !screen->guard_->alive) + { return; } lv_obj_t* btn = static_cast(lv_event_get_target(e)); - for (size_t i = 0; i < screen->items_.size(); i++) { - if (screen->items_[i].btn == btn) { + for (size_t i = 0; i < screen->items_.size(); i++) + { + if (screen->items_[i].btn == btn) + { screen->setSelected(static_cast(i)); screen->schedule_action_async(ActionIntent::SelectConversation, screen->items_[i].conv); @@ -405,7 +473,8 @@ void ChatMessageListScreen::list_back_event_cb(lv_event_t* e) { auto* screen = static_cast(lv_event_get_user_data(e)); - if (!screen || !screen->guard_ || !screen->guard_->alive) { + if (!screen || !screen->guard_ || !screen->guard_->alive) + { return; } chat::ui::message_list::input::focus_filter(&screen->input_binding_); @@ -415,15 +484,21 @@ void ChatMessageListScreen::filter_focus_cb(lv_event_t* e) { auto* screen = static_cast(lv_event_get_user_data(e)); - if (!screen || !screen->guard_ || !screen->guard_->alive) { + if (!screen || !screen->guard_ || !screen->guard_->alive) + { return; } lv_obj_t* tgt = static_cast(lv_event_get_target(e)); - if (tgt == screen->direct_btn_) { + if (tgt == screen->direct_btn_) + { screen->setFilterMode(FilterMode::Direct); - } else if (tgt == screen->broadcast_btn_) { + } + else if (tgt == screen->broadcast_btn_) + { screen->setFilterMode(FilterMode::Broadcast); - } else if (tgt == screen->team_btn_) { + } + else if (tgt == screen->team_btn_) + { screen->setFilterMode(FilterMode::Team); } } @@ -432,15 +507,21 @@ void ChatMessageListScreen::filter_click_cb(lv_event_t* e) { auto* screen = static_cast(lv_event_get_user_data(e)); - if (!screen || !screen->guard_ || !screen->guard_->alive) { + if (!screen || !screen->guard_ || !screen->guard_->alive) + { return; } lv_obj_t* tgt = static_cast(lv_event_get_target(e)); - if (tgt == screen->direct_btn_) { + if (tgt == screen->direct_btn_) + { screen->setFilterMode(FilterMode::Direct); - } else if (tgt == screen->broadcast_btn_) { + } + else if (tgt == screen->broadcast_btn_) + { screen->setFilterMode(FilterMode::Broadcast); - } else if (tgt == screen->team_btn_) { + } + else if (tgt == screen->team_btn_) + { screen->setFilterMode(FilterMode::Team); } chat::ui::message_list::input::focus_list(&screen->input_binding_); @@ -448,29 +529,38 @@ void ChatMessageListScreen::filter_click_cb(lv_event_t* e) void ChatMessageListScreen::updateFilterHighlight() { - if (!direct_btn_ || !broadcast_btn_) { + if (!direct_btn_ || !broadcast_btn_) + { return; } lv_obj_clear_state(direct_btn_, LV_STATE_CHECKED); lv_obj_clear_state(broadcast_btn_, LV_STATE_CHECKED); - if (team_btn_) { + if (team_btn_) + { lv_obj_clear_state(team_btn_, LV_STATE_CHECKED); } - if (filter_mode_ == FilterMode::Direct) { + if (filter_mode_ == FilterMode::Direct) + { lv_obj_add_state(direct_btn_, LV_STATE_CHECKED); - } else if (filter_mode_ == FilterMode::Broadcast) { + } + else if (filter_mode_ == FilterMode::Broadcast) + { lv_obj_add_state(broadcast_btn_, LV_STATE_CHECKED); - } else if (team_btn_) { + } + else if (team_btn_) + { lv_obj_add_state(team_btn_, LV_STATE_CHECKED); } } void ChatMessageListScreen::setFilterMode(FilterMode mode) { - if (!guard_ || !guard_->alive) { + if (!guard_ || !guard_->alive) + { return; } - if (filter_mode_ == mode) { + if (filter_mode_ == mode) + { return; } filter_mode_ = mode; @@ -482,7 +572,8 @@ void ChatMessageListScreen::setFilterMode(FilterMode mode) void ChatMessageListScreen::handle_back(void* user_data) { auto* screen = static_cast(user_data); - if (!screen || !screen->guard_ || !screen->guard_->alive) { + if (!screen || !screen->guard_ || !screen->guard_->alive) + { return; } screen->schedule_action_async(ActionIntent::Back, chat::ConversationId()); @@ -491,16 +582,20 @@ void ChatMessageListScreen::handle_back(void* user_data) void ChatMessageListScreen::async_action_cb(void* user_data) { auto* payload = static_cast(user_data); - if (!payload) { + if (!payload) + { return; } LifetimeGuard* guard = payload->guard; - if (guard && guard->alive && payload->action_cb) { + if (guard && guard->alive && payload->action_cb) + { payload->action_cb(payload->intent, payload->conv, payload->user_data); } - if (guard && guard->pending_async > 0) { + if (guard && guard->pending_async > 0) + { guard->pending_async--; - if (guard->owner_dead && !guard->alive && guard->pending_async == 0) { + if (guard->owner_dead && !guard->alive && guard->pending_async == 0) + { delete guard; } } @@ -510,7 +605,8 @@ void ChatMessageListScreen::async_action_cb(void* user_data) void ChatMessageListScreen::on_root_deleted(lv_event_t* e) { auto* screen = static_cast(lv_event_get_user_data(e)); - if (!screen) { + if (!screen) + { return; } screen->handle_root_deleted(); @@ -518,11 +614,13 @@ void ChatMessageListScreen::on_root_deleted(lv_event_t* e) void ChatMessageListScreen::handle_root_deleted() { - if ((!guard_ || !guard_->alive) && container_ == nullptr) { + if ((!guard_ || !guard_->alive) && container_ == nullptr) + { return; } - if (guard_) { + if (guard_) + { guard_->alive = false; } action_cb_ = nullptr; @@ -531,7 +629,8 @@ void ChatMessageListScreen::handle_root_deleted() chat::ui::message_list::input::cleanup(&input_binding_); clear_all_timers(); - if (top_bar_.back_btn) { + if (top_bar_.back_btn) + { ::ui::widgets::top_bar_set_back_callback(top_bar_, nullptr, nullptr); } @@ -544,13 +643,13 @@ void ChatMessageListScreen::handle_root_deleted() direct_btn_ = nullptr; broadcast_btn_ = nullptr; list_back_btn_ = nullptr; - } void ChatMessageListScreen::schedule_action_async(ActionIntent intent, const chat::ConversationId& conv) { - if (!guard_ || !guard_->alive || !action_cb_) { + if (!guard_ || !guard_->alive || !action_cb_) + { return; } auto* payload = new ActionPayload(); @@ -568,11 +667,13 @@ lv_timer_t* ChatMessageListScreen::add_timer(lv_timer_cb_t cb, void* user_data, TimerDomain domain) { - if (!guard_ || !guard_->alive) { + if (!guard_ || !guard_->alive) + { return nullptr; } lv_timer_t* timer = lv_timer_create(cb, period_ms, user_data); - if (timer) { + if (timer) + { TimerEntry entry; entry.timer = timer; entry.domain = domain; @@ -583,25 +684,31 @@ lv_timer_t* ChatMessageListScreen::add_timer(lv_timer_cb_t cb, void ChatMessageListScreen::clear_timers(TimerDomain domain) { - if (timers_.empty()) { + if (timers_.empty()) + { return; } - for (auto& entry : timers_) { - if (entry.timer && entry.domain == domain) { + for (auto& entry : timers_) + { + if (entry.timer && entry.domain == domain) + { lv_timer_del(entry.timer); entry.timer = nullptr; } } timers_.erase( std::remove_if(timers_.begin(), timers_.end(), - [](const TimerEntry& entry) { return entry.timer == nullptr; }), + [](const TimerEntry& entry) + { return entry.timer == nullptr; }), timers_.end()); } void ChatMessageListScreen::clear_all_timers() { - for (auto& entry : timers_) { - if (entry.timer) { + for (auto& entry : timers_) + { + if (entry.timer) + { lv_timer_del(entry.timer); entry.timer = nullptr; } diff --git a/src/ui/screens/chat/chat_message_list_components.h b/src/ui/screens/chat/chat_message_list_components.h index 31c5459f..ea3a3bba 100644 --- a/src/ui/screens/chat/chat_message_list_components.h +++ b/src/ui/screens/chat/chat_message_list_components.h @@ -5,19 +5,23 @@ #pragma once -#include "lvgl.h" #include "../../chat/domain/chat_types.h" #include "../../widgets/top_bar.h" #include "chat_message_list_input.h" -#include +#include "lvgl.h" #include +#include -namespace chat { -namespace ui { +namespace chat +{ +namespace ui +{ -class ChatMessageListScreen { -public: - enum class ActionIntent { +class ChatMessageListScreen +{ + public: + enum class ActionIntent + { SelectConversation, Back }; @@ -57,24 +61,28 @@ public: lv_obj_t* getItemButton(size_t index) const; int getSelectedIndex() const { return selected_index_; } -private: - enum class TimerDomain { + private: + enum class TimerDomain + { ScreenGeneral, Input }; - struct TimerEntry { + struct TimerEntry + { lv_timer_t* timer = nullptr; TimerDomain domain = TimerDomain::ScreenGeneral; }; - struct LifetimeGuard { + struct LifetimeGuard + { bool alive = false; int pending_async = 0; bool owner_dead = false; }; - struct ActionPayload { + struct ActionPayload + { LifetimeGuard* guard = nullptr; void (*action_cb)(ActionIntent intent, const chat::ConversationId& conv, @@ -84,7 +92,8 @@ private: chat::ConversationId conv{}; }; - enum class FilterMode { + enum class FilterMode + { Direct, Broadcast, Team @@ -107,7 +116,8 @@ private: void*) = nullptr; void* action_cb_user_data_ = nullptr; - struct MessageItem { + struct MessageItem + { chat::ConversationId conv{}; lv_obj_t* btn = nullptr; lv_obj_t* name_label = nullptr; diff --git a/src/ui/screens/chat/chat_message_list_input.cpp b/src/ui/screens/chat/chat_message_list_input.cpp index 144d21be..d368ce72 100644 --- a/src/ui/screens/chat/chat_message_list_input.cpp +++ b/src/ui/screens/chat/chat_message_list_input.cpp @@ -9,10 +9,10 @@ * - Back/ESC returns to filter column. */ -#include // keep Arduino first if your build requires it #include "chat_message_list_input.h" -#include "chat_message_list_components.h" #include "../ui_common.h" +#include "chat_message_list_components.h" +#include // keep Arduino first if your build requires it #define CHAT_INPUT_DEBUG 1 #if CHAT_INPUT_DEBUG @@ -21,9 +21,11 @@ #define CHAT_INPUT_LOG(...) #endif -namespace chat::ui::message_list::input { +namespace chat::ui::message_list::input +{ -namespace { +namespace +{ static bool is_encoder_active() { @@ -64,15 +66,20 @@ static void clear_list_focus_states(Binding* binding) if (!binding || !binding->screen) return; lv_state_t clear_mask = (lv_state_t)(LV_STATE_FOCUSED | LV_STATE_FOCUS_KEY); size_t count = binding->screen->getItemCount(); - for (size_t i = 0; i < count; ++i) { - if (lv_obj_t* btn = binding->screen->getItemButton(i)) { - if (lv_obj_is_valid(btn)) { + for (size_t i = 0; i < count; ++i) + { + if (lv_obj_t* btn = binding->screen->getItemButton(i)) + { + if (lv_obj_is_valid(btn)) + { lv_obj_clear_state(btn, clear_mask); } } } - if (lv_obj_t* back = binding->screen->getListBackButton()) { - if (lv_obj_is_valid(back)) { + if (lv_obj_t* back = binding->screen->getListBackButton()) + { + if (lv_obj_is_valid(back)) + { lv_obj_clear_state(back, clear_mask); } } @@ -85,51 +92,70 @@ static void bind_filter_column(Binding* binding) group_clear_all(binding->group); clear_list_focus_states(binding); - if (lv_obj_t* back = binding->screen->getBackButton()) { + if (lv_obj_t* back = binding->screen->getBackButton()) + { group_add_if_valid(binding, back); } - if (lv_obj_t* direct = binding->screen->getDirectButton()) { + if (lv_obj_t* direct = binding->screen->getDirectButton()) + { group_add_if_valid(binding, direct); } - if (lv_obj_t* broadcast = binding->screen->getBroadcastButton()) { + if (lv_obj_t* broadcast = binding->screen->getBroadcastButton()) + { group_add_if_valid(binding, broadcast); } - if (lv_obj_t* team = binding->screen->getTeamButton()) { - if (is_visible(team)) { + if (lv_obj_t* team = binding->screen->getTeamButton()) + { + if (is_visible(team)) + { group_add_if_valid(binding, team); } } lv_group_focus_freeze(binding->group, false); - if (lv_obj_t* direct = binding->screen->getDirectButton()) { - if (lv_obj_has_state(direct, LV_STATE_CHECKED)) { + if (lv_obj_t* direct = binding->screen->getDirectButton()) + { + if (lv_obj_has_state(direct, LV_STATE_CHECKED)) + { focus_first_valid(binding, direct); return; } } - if (lv_obj_t* broadcast = binding->screen->getBroadcastButton()) { - if (lv_obj_has_state(broadcast, LV_STATE_CHECKED)) { + if (lv_obj_t* broadcast = binding->screen->getBroadcastButton()) + { + if (lv_obj_has_state(broadcast, LV_STATE_CHECKED)) + { focus_first_valid(binding, broadcast); return; } } - if (lv_obj_t* team = binding->screen->getTeamButton()) { - if (is_visible(team) && lv_obj_has_state(team, LV_STATE_CHECKED)) { + if (lv_obj_t* team = binding->screen->getTeamButton()) + { + if (is_visible(team) && lv_obj_has_state(team, LV_STATE_CHECKED)) + { focus_first_valid(binding, team); return; } } - if (lv_obj_t* direct = binding->screen->getDirectButton()) { + if (lv_obj_t* direct = binding->screen->getDirectButton()) + { focus_first_valid(binding, direct); - } else if (lv_obj_t* broadcast = binding->screen->getBroadcastButton()) { + } + else if (lv_obj_t* broadcast = binding->screen->getBroadcastButton()) + { focus_first_valid(binding, broadcast); - } else if (lv_obj_t* team = binding->screen->getTeamButton()) { - if (is_visible(team)) { + } + else if (lv_obj_t* team = binding->screen->getTeamButton()) + { + if (is_visible(team)) + { focus_first_valid(binding, team); } - } else if (lv_obj_t* back = binding->screen->getBackButton()) { + } + else if (lv_obj_t* back = binding->screen->getBackButton()) + { focus_first_valid(binding, back); } } @@ -141,27 +167,38 @@ static void bind_list_column(Binding* binding) group_clear_all(binding->group); size_t count = binding->screen->getItemCount(); - for (size_t i = 0; i < count; ++i) { - if (lv_obj_t* btn = binding->screen->getItemButton(i)) { + for (size_t i = 0; i < count; ++i) + { + if (lv_obj_t* btn = binding->screen->getItemButton(i)) + { group_add_if_valid(binding, btn); } } - if (lv_obj_t* back = binding->screen->getListBackButton()) { + if (lv_obj_t* back = binding->screen->getListBackButton()) + { group_add_if_valid(binding, back); } lv_group_focus_freeze(binding->group, false); - if (count > 0) { + if (count > 0) + { int selected = binding->screen->getSelectedIndex(); - if (selected >= 0 && static_cast(selected) < count) { + if (selected >= 0 && static_cast(selected) < count) + { focus_first_valid(binding, binding->screen->getItemButton(static_cast(selected))); - } else { + } + else + { focus_first_valid(binding, binding->screen->getItemButton(0)); } - } else if (lv_obj_t* back = binding->screen->getListBackButton()) { + } + else if (lv_obj_t* back = binding->screen->getListBackButton()) + { focus_first_valid(binding, back); - } else { + } + else + { binding->col = FocusColumn::Filter; bind_filter_column(binding); } @@ -170,9 +207,12 @@ static void bind_list_column(Binding* binding) static void rebind_by_column(Binding* binding) { if (!binding) return; - if (binding->col == FocusColumn::Filter) { + if (binding->col == FocusColumn::Filter) + { bind_filter_column(binding); - } else { + } + else + { bind_list_column(binding); } } @@ -184,7 +224,8 @@ static void root_key_event_cb(lv_event_t* e) if (!screen_alive(binding)) return; uint32_t key = lv_event_get_key(e); - if (key == LV_KEY_ESC || key == LV_KEY_BACKSPACE) { + if (key == LV_KEY_ESC || key == LV_KEY_BACKSPACE) + { binding->col = FocusColumn::Filter; rebind_by_column(binding); return; @@ -195,8 +236,10 @@ static void root_key_event_cb(lv_event_t* e) lv_obj_t* focused = binding->group ? lv_group_get_focused(binding->group) : nullptr; if (!focused || !binding->screen) return; - if (binding->col == FocusColumn::Filter) { - if (focused == binding->screen->getBackButton()) { + if (binding->col == FocusColumn::Filter) + { + if (focused == binding->screen->getBackButton()) + { lv_obj_send_event(focused, LV_EVENT_CLICKED, nullptr); return; } @@ -205,8 +248,10 @@ static void root_key_event_cb(lv_event_t* e) return; } - if (binding->col == FocusColumn::List) { - if (focused == binding->screen->getListBackButton()) { + if (binding->col == FocusColumn::List) + { + if (focused == binding->screen->getListBackButton()) + { binding->col = FocusColumn::Filter; rebind_by_column(binding); return; @@ -218,10 +263,12 @@ static void root_key_event_cb(lv_event_t* e) void init(ChatMessageListScreen* screen, Binding* binding) { - if (!binding) { + if (!binding) + { return; } - if (binding->bound) { + if (binding->bound) + { cleanup(binding); } @@ -233,7 +280,8 @@ void init(ChatMessageListScreen* screen, Binding* binding) rebind_by_column(binding); set_default_group(binding->group); - if (binding->screen && binding->screen->getObj()) { + if (binding->screen && binding->screen->getObj()) + { lv_obj_add_event_cb(binding->screen->getObj(), root_key_event_cb, LV_EVENT_KEY, binding); } binding->bound = true; @@ -243,16 +291,19 @@ void init(ChatMessageListScreen* screen, Binding* binding) void cleanup(Binding* binding) { - if (!binding || !binding->bound) { + if (!binding || !binding->bound) + { return; } binding->screen = nullptr; - if (binding->group) { + if (binding->group) + { set_default_group(nullptr); lv_group_del(binding->group); binding->group = nullptr; } - if (binding->prev_group) { + if (binding->prev_group) + { set_default_group(binding->prev_group); } binding->prev_group = nullptr; diff --git a/src/ui/screens/chat/chat_message_list_input.h b/src/ui/screens/chat/chat_message_list_input.h index 7db702cd..c1fd62a1 100644 --- a/src/ui/screens/chat/chat_message_list_input.h +++ b/src/ui/screens/chat/chat_message_list_input.h @@ -11,18 +11,22 @@ #include "lvgl.h" -namespace chat::ui { +namespace chat::ui +{ class ChatMessageListScreen; -namespace message_list::input { +namespace message_list::input +{ -enum class FocusColumn { +enum class FocusColumn +{ Filter = 0, List = 1 }; -struct Binding { +struct Binding +{ ChatMessageListScreen* screen = nullptr; lv_group_t* group = nullptr; lv_group_t* prev_group = nullptr; diff --git a/src/ui/screens/chat/chat_message_list_layout.cpp b/src/ui/screens/chat/chat_message_list_layout.cpp index 84a8411c..b6ea45f9 100644 --- a/src/ui/screens/chat/chat_message_list_layout.cpp +++ b/src/ui/screens/chat/chat_message_list_layout.cpp @@ -55,10 +55,11 @@ * - Styles are applied via chat_message_list_styles.*. */ -#include #include "chat_message_list_layout.h" +#include -namespace chat::ui::layout { +namespace chat::ui::layout +{ static void make_non_scrollable(lv_obj_t* obj) { @@ -66,7 +67,8 @@ static void make_non_scrollable(lv_obj_t* obj) lv_obj_set_scrollbar_mode(obj, LV_SCROLLBAR_MODE_OFF); } -namespace { +namespace +{ constexpr int kFilterPanelWidth = 80; constexpr int kButtonHeight = 32; constexpr int kPanelGap = 0; diff --git a/src/ui/screens/chat/chat_message_list_layout.h b/src/ui/screens/chat/chat_message_list_layout.h index 7f125436..503a9ba8 100644 --- a/src/ui/screens/chat/chat_message_list_layout.h +++ b/src/ui/screens/chat/chat_message_list_layout.h @@ -1,10 +1,12 @@ #pragma once -#include "lvgl.h" #include "../../chat/domain/chat_types.h" +#include "lvgl.h" -namespace chat::ui::layout { +namespace chat::ui::layout +{ -struct MessageListLayout { +struct MessageListLayout +{ lv_obj_t* root; lv_obj_t* content; lv_obj_t* filter_panel; @@ -21,7 +23,8 @@ lv_obj_t* create_root(lv_obj_t* parent); MessageListLayout create_layout(lv_obj_t* parent); // message list item (button with labels) -struct MessageItemWidgets { +struct MessageItemWidgets +{ lv_obj_t* btn; lv_obj_t* name_label; lv_obj_t* preview_label; diff --git a/src/ui/screens/chat/chat_message_list_styles.cpp b/src/ui/screens/chat/chat_message_list_styles.cpp index 9fa17e8d..6e68819b 100644 --- a/src/ui/screens/chat/chat_message_list_styles.cpp +++ b/src/ui/screens/chat/chat_message_list_styles.cpp @@ -1,7 +1,8 @@ #include "chat_message_list_styles.h" #include "../../assets/fonts/fonts.h" -namespace chat::ui::message_list::styles { +namespace chat::ui::message_list::styles +{ static constexpr uint32_t kPrimary = 0xEBA341; static constexpr uint32_t kPrimaryLight = 0xF1B65A; @@ -136,10 +137,30 @@ void apply_filter_btn(lv_obj_t* btn) lv_obj_add_style(btn, &s_filter_btn_checked, LV_STATE_CHECKED); } -void apply_label_name(lv_obj_t* label) { init_once(); lv_obj_add_style(label, &s_label_name, 0); } -void apply_label_preview(lv_obj_t* label) { init_once(); lv_obj_add_style(label, &s_label_preview, 0); } -void apply_label_time(lv_obj_t* label) { init_once(); lv_obj_add_style(label, &s_label_time, 0); } -void apply_label_unread(lv_obj_t* label) { init_once(); lv_obj_add_style(label, &s_label_unread, 0); } -void apply_label_placeholder(lv_obj_t* label){ init_once(); lv_obj_add_style(label, &s_label_placeholder, 0); } +void apply_label_name(lv_obj_t* label) +{ + init_once(); + lv_obj_add_style(label, &s_label_name, 0); +} +void apply_label_preview(lv_obj_t* label) +{ + init_once(); + lv_obj_add_style(label, &s_label_preview, 0); +} +void apply_label_time(lv_obj_t* label) +{ + init_once(); + lv_obj_add_style(label, &s_label_time, 0); +} +void apply_label_unread(lv_obj_t* label) +{ + init_once(); + lv_obj_add_style(label, &s_label_unread, 0); +} +void apply_label_placeholder(lv_obj_t* label) +{ + init_once(); + lv_obj_add_style(label, &s_label_placeholder, 0); +} } // namespace chat::ui::message_list::styles diff --git a/src/ui/screens/chat/chat_message_list_styles.h b/src/ui/screens/chat/chat_message_list_styles.h index abeac10a..d09a08e9 100644 --- a/src/ui/screens/chat/chat_message_list_styles.h +++ b/src/ui/screens/chat/chat_message_list_styles.h @@ -1,7 +1,8 @@ #pragma once #include "lvgl.h" -namespace chat::ui::message_list::styles { +namespace chat::ui::message_list::styles +{ void init_once(); diff --git a/src/ui/screens/contacts/contacts_page_components.cpp b/src/ui/screens/contacts/contacts_page_components.cpp index 6b60d096..7c49e28c 100644 --- a/src/ui/screens/contacts/contacts_page_components.cpp +++ b/src/ui/screens/contacts/contacts_page_components.cpp @@ -3,32 +3,32 @@ * @brief Contacts page UI components implementation (refactor: layout/styles split, behavior preserved) */ -#include // Must be first for library compilation +#include // Must be first for library compilation -#include "contacts_page_components.h" -#include "contacts_state.h" -#include "contacts_page_layout.h" -#include "contacts_page_styles.h" -#include "contacts_page_input.h" +#include "../../../app/app_context.h" +#include "../../../chat/usecase/chat_service.h" +#include "../../../chat/usecase/contact_service.h" +#include "../../../gps/gps_service_api.h" +#include "../../../team/protocol/team_chat.h" #include "../../ui_common.h" #include "../../widgets/ime/ime_widget.h" -#include "../../../chat/usecase/contact_service.h" -#include "../../../chat/usecase/chat_service.h" -#include "../../../app/app_context.h" -#include "../../../gps/gps_service_api.h" +#include "../../widgets/system_notification.h" #include "../chat/chat_compose_components.h" #include "../chat/chat_conversation_components.h" #include "../team/team_state.h" #include "../team/team_ui_store.h" -#include "../../../team/protocol/team_chat.h" +#include "contacts_page_components.h" +#include "contacts_page_input.h" +#include "contacts_page_layout.h" +#include "contacts_page_styles.h" +#include "contacts_state.h" #include "meshtastic/mesh.pb.h" #include "pb_encode.h" -#include "../../widgets/system_notification.h" +#include #include #include #include -#include #include #define CONTACTS_DEBUG 0 @@ -44,7 +44,7 @@ lv_obj_t* ui_chat_get_container(); static constexpr int kItemsPerPage = 4; static constexpr int kButtonHeight = 32; -static constexpr int kButtonWidth = 80; +static constexpr int kButtonWidth = 80; static lv_group_t* s_compose_group = nullptr; static lv_group_t* s_compose_prev_group = nullptr; @@ -73,7 +73,7 @@ static void on_next_clicked(lv_event_t* e); static void on_back_clicked(lv_event_t* e); static void on_action_back_clicked(lv_event_t* e); -static void ensure_action_buttons(); // 新增:创建/更新第三列按钮 +static void ensure_action_buttons(); // 新增:创建/更新第三列按钮 static void on_action_clicked(lv_event_t* e); static const chat::contacts::NodeInfo* get_selected_node(); static chat::ChannelId get_selected_channel(); @@ -118,19 +118,22 @@ void refresh_contacts_data() static std::string format_time_status(uint32_t last_seen) { uint32_t now_secs = time(nullptr); - if (now_secs < last_seen) { + if (now_secs < last_seen) + { return "Offline"; } uint32_t age_secs = now_secs - last_seen; // Online: ≤ 2 minutes - if (age_secs <= 120) { + if (age_secs <= 120) + { return "Online"; } // Minutes: 3-59 minutes - if (age_secs < 3600) { + if (age_secs < 3600) + { uint32_t minutes = age_secs / 60; char buf[16]; snprintf(buf, sizeof(buf), "Seen %um", minutes); @@ -138,7 +141,8 @@ static std::string format_time_status(uint32_t last_seen) } // Hours: 1-23 hours - if (age_secs < 86400) { + if (age_secs < 86400) + { uint32_t hours = age_secs / 3600; char buf[16]; snprintf(buf, sizeof(buf), "Seen %uh", hours); @@ -146,7 +150,8 @@ static std::string format_time_status(uint32_t last_seen) } // Days: 1-6 days - if (age_secs < 6 * 86400) { + if (age_secs < 6 * 86400) + { uint32_t days = age_secs / 86400; char buf[16]; snprintf(buf, sizeof(buf), "Seen %ud", days); @@ -159,7 +164,8 @@ static std::string format_time_status(uint32_t last_seen) static std::string format_snr(float snr) { - if (snr == 0.0f) { + if (snr == 0.0f) + { return "SNR -"; } char buf[16]; @@ -169,7 +175,8 @@ static std::string format_snr(float snr) static const char* team_command_name(team::proto::TeamCommandType type) { - switch (type) { + switch (type) + { case team::proto::TeamCommandType::RallyTo: return "RallyTo"; case team::proto::TeamCommandType::MoveTo: @@ -183,10 +190,12 @@ static const char* team_command_name(team::proto::TeamCommandType type) static std::string truncate_text(const std::string& text, size_t max_len) { - if (text.size() <= max_len) { + if (text.size() <= max_len) + { return text; } - if (max_len <= 3) { + if (max_len <= 3) + { return text.substr(0, max_len); } return text.substr(0, max_len - 3) + "..."; @@ -194,43 +203,59 @@ static std::string truncate_text(const std::string& text, size_t max_len) static std::string format_team_chat_entry(const team::ui::TeamChatLogEntry& entry) { - if (entry.type == team::proto::TeamChatType::Text) { + if (entry.type == team::proto::TeamChatType::Text) + { std::string text(entry.payload.begin(), entry.payload.end()); return truncate_text(text, 160); } - if (entry.type == team::proto::TeamChatType::Location) { + if (entry.type == team::proto::TeamChatType::Location) + { team::proto::TeamChatLocation loc; - if (team::proto::decodeTeamChatLocation(entry.payload.data(), entry.payload.size(), &loc)) { + if (team::proto::decodeTeamChatLocation(entry.payload.data(), entry.payload.size(), &loc)) + { double lat = static_cast(loc.lat_e7) / 1e7; double lon = static_cast(loc.lon_e7) / 1e7; char buf[128]; - if (!loc.label.empty()) { + if (!loc.label.empty()) + { snprintf(buf, sizeof(buf), "Location: %s %.5f, %.5f", loc.label.c_str(), lat, lon); - } else { + } + else + { snprintf(buf, sizeof(buf), "Location: %.5f, %.5f", lat, lon); } return std::string(buf); } return "Location"; } - if (entry.type == team::proto::TeamChatType::Command) { + if (entry.type == team::proto::TeamChatType::Command) + { team::proto::TeamChatCommand cmd; - if (team::proto::decodeTeamChatCommand(entry.payload.data(), entry.payload.size(), &cmd)) { + if (team::proto::decodeTeamChatCommand(entry.payload.data(), entry.payload.size(), &cmd)) + { const char* name = team_command_name(cmd.cmd_type); double lat = static_cast(cmd.lat_e7) / 1e7; double lon = static_cast(cmd.lon_e7) / 1e7; char buf[160]; - if (cmd.lat_e7 != 0 || cmd.lon_e7 != 0) { - if (!cmd.note.empty()) { + if (cmd.lat_e7 != 0 || cmd.lon_e7 != 0) + { + if (!cmd.note.empty()) + { snprintf(buf, sizeof(buf), "Command: %s %.5f, %.5f %s", name, lat, lon, cmd.note.c_str()); - } else { + } + else + { snprintf(buf, sizeof(buf), "Command: %s %.5f, %.5f", name, lat, lon); } - } else if (!cmd.note.empty()) { + } + else if (!cmd.note.empty()) + { snprintf(buf, sizeof(buf), "Command: %s %s", name, cmd.note.c_str()); - } else { + } + else + { snprintf(buf, sizeof(buf), "Command: %s", name); } return std::string(buf); @@ -283,40 +308,53 @@ void create_filter_panel(lv_obj_t* parent) // - Press in Filter column: // * on TopBar back -> exit (handled by topbar) // * on Contacts/Nearby -> move focus to List column - if (g_contacts_state.contacts_btn) { + if (g_contacts_state.contacts_btn) + { lv_obj_add_event_cb(g_contacts_state.contacts_btn, on_filter_focused, LV_EVENT_FOCUSED, nullptr); lv_obj_add_event_cb(g_contacts_state.contacts_btn, on_filter_clicked, LV_EVENT_CLICKED, nullptr); } - if (g_contacts_state.nearby_btn) { + if (g_contacts_state.nearby_btn) + { lv_obj_add_event_cb(g_contacts_state.nearby_btn, on_filter_focused, LV_EVENT_FOCUSED, nullptr); lv_obj_add_event_cb(g_contacts_state.nearby_btn, on_filter_clicked, LV_EVENT_CLICKED, nullptr); } - if (g_contacts_state.broadcast_btn) { + if (g_contacts_state.broadcast_btn) + { lv_obj_add_event_cb(g_contacts_state.broadcast_btn, on_filter_focused, LV_EVENT_FOCUSED, nullptr); lv_obj_add_event_cb(g_contacts_state.broadcast_btn, on_filter_clicked, LV_EVENT_CLICKED, nullptr); } - if (g_contacts_state.team_btn) { + if (g_contacts_state.team_btn) + { lv_obj_add_event_cb(g_contacts_state.team_btn, on_filter_focused, LV_EVENT_FOCUSED, nullptr); lv_obj_add_event_cb(g_contacts_state.team_btn, on_filter_clicked, LV_EVENT_CLICKED, nullptr); } // Keep highlight consistent with mode using CHECKED state // (visual-only; does not change behavior) - if (g_contacts_state.contacts_btn && g_contacts_state.nearby_btn && g_contacts_state.broadcast_btn) { + if (g_contacts_state.contacts_btn && g_contacts_state.nearby_btn && g_contacts_state.broadcast_btn) + { lv_obj_clear_state(g_contacts_state.contacts_btn, LV_STATE_CHECKED); lv_obj_clear_state(g_contacts_state.nearby_btn, LV_STATE_CHECKED); lv_obj_clear_state(g_contacts_state.broadcast_btn, LV_STATE_CHECKED); - if (g_contacts_state.team_btn) { + if (g_contacts_state.team_btn) + { lv_obj_clear_state(g_contacts_state.team_btn, LV_STATE_CHECKED); } - if (g_contacts_state.current_mode == ContactsMode::Contacts) { + if (g_contacts_state.current_mode == ContactsMode::Contacts) + { lv_obj_add_state(g_contacts_state.contacts_btn, LV_STATE_CHECKED); - } else if (g_contacts_state.current_mode == ContactsMode::Nearby) { + } + else if (g_contacts_state.current_mode == ContactsMode::Nearby) + { lv_obj_add_state(g_contacts_state.nearby_btn, LV_STATE_CHECKED); - } else if (g_contacts_state.current_mode == ContactsMode::Broadcast) { + } + else if (g_contacts_state.current_mode == ContactsMode::Broadcast) + { lv_obj_add_state(g_contacts_state.broadcast_btn, LV_STATE_CHECKED); - } else if (g_contacts_state.team_btn) { + } + else if (g_contacts_state.team_btn) + { lv_obj_add_state(g_contacts_state.team_btn, LV_STATE_CHECKED); } } @@ -338,10 +376,11 @@ void create_action_panel(lv_obj_t* parent) static void contacts_btn_event_handler(lv_event_t* e) { lv_event_code_t code = lv_event_get_code(e); - if (code == LV_EVENT_CLICKED) { + if (code == LV_EVENT_CLICKED) + { CONTACTS_LOG("[Contacts] Contacts button clicked\n"); g_contacts_state.current_mode = ContactsMode::Contacts; - g_contacts_state.current_page = 0; // Reset to first page + g_contacts_state.current_page = 0; // Reset to first page refresh_ui(); } } @@ -349,10 +388,11 @@ static void contacts_btn_event_handler(lv_event_t* e) static void nearby_btn_event_handler(lv_event_t* e) { lv_event_code_t code = lv_event_get_code(e); - if (code == LV_EVENT_CLICKED) { + if (code == LV_EVENT_CLICKED) + { CONTACTS_LOG("[Contacts] Nearby button clicked\n"); g_contacts_state.current_mode = ContactsMode::Nearby; - g_contacts_state.current_page = 0; // Reset to first page + g_contacts_state.current_page = 0; // Reset to first page refresh_ui(); } } @@ -367,12 +407,13 @@ static void on_filter_focused(lv_event_t* e) else if (tgt == g_contacts_state.team_btn) new_mode = ContactsMode::Team; else return; - if (new_mode != g_contacts_state.current_mode) { + if (new_mode != g_contacts_state.current_mode) + { g_contacts_state.current_mode = new_mode; g_contacts_state.current_page = 0; g_contacts_state.selected_index = -1; refresh_contacts_data(); - refresh_ui(); // 旋转到另一个按钮,就刷新第二列 + refresh_ui(); // 旋转到另一个按钮,就刷新第二列 } } @@ -384,22 +425,21 @@ static void on_filter_clicked(lv_event_t* e) contacts_focus_to_list(); } - - static void on_list_item_clicked(lv_event_t* e) { lv_obj_t* item = (lv_obj_t*)lv_event_get_target(e); g_contacts_state.selected_index = (int)(intptr_t)lv_obj_get_user_data(item); - ensure_action_buttons(); // 确保第三列按钮存在且按模式更新 - contacts_focus_to_action(); // 进入第三列 + ensure_action_buttons(); // 确保第三列按钮存在且按模式更新 + contacts_focus_to_action(); // 进入第三列 } static void on_prev_clicked(lv_event_t* /*e*/) { if (lv_obj_has_state(g_contacts_state.prev_btn, LV_STATE_DISABLED)) return; g_contacts_state.current_page--; - if (g_contacts_state.current_page < 0) { + if (g_contacts_state.current_page < 0) + { // 循环:跳到最后一页 int total_pages = (g_contacts_state.total_items + kItemsPerPage - 1) / kItemsPerPage; if (total_pages <= 0) total_pages = 1; @@ -417,7 +457,8 @@ static void on_next_clicked(lv_event_t* /*e*/) if (total_pages <= 0) total_pages = 1; g_contacts_state.current_page++; - if (g_contacts_state.current_page >= total_pages) { + if (g_contacts_state.current_page >= total_pages) + { // 循环:回到第一页 g_contacts_state.current_page = 0; } @@ -434,16 +475,19 @@ static void on_back_clicked(lv_event_t* /*e*/) static const chat::contacts::NodeInfo* get_selected_node() { if (g_contacts_state.current_mode == ContactsMode::Broadcast || - g_contacts_state.current_mode == ContactsMode::Team) { + g_contacts_state.current_mode == ContactsMode::Team) + { return nullptr; } - if (g_contacts_state.selected_index < 0) { + if (g_contacts_state.selected_index < 0) + { return nullptr; } const auto& list = (g_contacts_state.current_mode == ContactsMode::Contacts) - ? g_contacts_state.contacts_list - : g_contacts_state.nearby_list; - if (g_contacts_state.selected_index >= static_cast(list.size())) { + ? g_contacts_state.contacts_list + : g_contacts_state.nearby_list; + if (g_contacts_state.selected_index >= static_cast(list.size())) + { return nullptr; } return &list[g_contacts_state.selected_index]; @@ -451,13 +495,16 @@ static const chat::contacts::NodeInfo* get_selected_node() static chat::ChannelId get_selected_channel() { - if (g_contacts_state.current_mode != ContactsMode::Broadcast) { + if (g_contacts_state.current_mode != ContactsMode::Broadcast) + { return chat::ChannelId::PRIMARY; } - if (g_contacts_state.selected_index < 0) { + if (g_contacts_state.selected_index < 0) + { return chat::ChannelId::PRIMARY; } - if (g_contacts_state.selected_index == 1) { + if (g_contacts_state.selected_index == 1) + { return chat::ChannelId::SECONDARY; } return chat::ChannelId::PRIMARY; @@ -465,13 +512,15 @@ static chat::ChannelId get_selected_channel() static void modal_prepare_group() { - if (!g_contacts_state.modal_group) { + if (!g_contacts_state.modal_group) + { g_contacts_state.modal_group = lv_group_create(); } lv_group_remove_all_objs(g_contacts_state.modal_group); g_contacts_state.prev_group = lv_group_get_default(); lv_group_t* contacts_group = contacts_input_get_group(); - if (contacts_group && g_contacts_state.prev_group != contacts_group) { + if (contacts_group && g_contacts_state.prev_group != contacts_group) + { g_contacts_state.prev_group = contacts_group; } set_default_group(g_contacts_state.modal_group); @@ -480,10 +529,12 @@ static void modal_prepare_group() static void modal_restore_group() { lv_group_t* restore = g_contacts_state.prev_group; - if (!restore) { + if (!restore) + { restore = contacts_input_get_group(); } - if (restore) { + if (restore) + { set_default_group(restore); } g_contacts_state.prev_group = nullptr; @@ -522,7 +573,8 @@ static lv_obj_t* create_modal_root(int width, int height) static void modal_close(lv_obj_t*& modal_obj) { - if (modal_obj) { + if (modal_obj) + { lv_obj_del(modal_obj); modal_obj = nullptr; } @@ -531,11 +583,13 @@ static void modal_close(lv_obj_t*& modal_obj) static void open_add_edit_modal(bool is_edit) { - if (g_contacts_state.add_edit_modal) { + if (g_contacts_state.add_edit_modal) + { return; } const auto* node = get_selected_node(); - if (!node) { + if (!node) + { return; } @@ -556,7 +610,8 @@ static void open_add_edit_modal(bool is_edit) lv_obj_set_width(g_contacts_state.add_edit_textarea, LV_PCT(100)); lv_obj_align(g_contacts_state.add_edit_textarea, LV_ALIGN_TOP_MID, 0, 26); - if (is_edit) { + if (is_edit) + { lv_textarea_set_text(g_contacts_state.add_edit_textarea, node->display_name.c_str()); lv_textarea_set_cursor_pos(g_contacts_state.add_edit_textarea, LV_TEXTAREA_CURSOR_LAST); } @@ -602,11 +657,13 @@ static void open_add_edit_modal(bool is_edit) static void open_delete_confirm_modal() { - if (g_contacts_state.del_confirm_modal) { + if (g_contacts_state.del_confirm_modal) + { return; } const auto* node = get_selected_node(); - if (!node) { + if (!node) + { return; } @@ -655,11 +712,13 @@ static void open_delete_confirm_modal() static void open_info_modal() { - if (g_contacts_state.info_modal) { + if (g_contacts_state.info_modal) + { return; } const auto* node = get_selected_node(); - if (!node) { + if (!node) + { return; } @@ -671,7 +730,8 @@ static void open_info_modal() lv_label_set_text(title, "Node Info"); lv_obj_align(title, LV_ALIGN_TOP_MID, 0, 0); - auto make_row = [&](const char* label_text, const char* value_text, lv_coord_t y) { + auto make_row = [&](const char* label_text, const char* value_text, lv_coord_t y) + { lv_obj_t* row = lv_obj_create(win); lv_obj_set_size(row, LV_PCT(100), 20); lv_obj_align(row, LV_ALIGN_TOP_MID, 0, y); @@ -692,9 +752,12 @@ static void open_info_modal() make_row("LongName", node->long_name, 46); char snr_buf[16]; - if (node->snr == 0.0f) { + if (node->snr == 0.0f) + { snprintf(snr_buf, sizeof(snr_buf), "-"); - } else { + } + else + { snprintf(snr_buf, sizeof(snr_buf), "%.0f", node->snr); } make_row("SNR", snr_buf, 68); @@ -717,33 +780,40 @@ static void open_info_modal() static void open_chat_compose() { - if (g_contacts_state.compose_screen) { + if (g_contacts_state.compose_screen) + { return; } - if (!g_contacts_state.conversation_screen) { + if (!g_contacts_state.conversation_screen) + { s_compose_from_conversation = false; } const auto* node = get_selected_node(); if (g_contacts_state.current_mode != ContactsMode::Broadcast && g_contacts_state.current_mode != ContactsMode::Team && - !node) { + !node) + { return; } - if (g_contacts_state.current_mode == ContactsMode::Team && !is_team_available()) { + if (g_contacts_state.current_mode == ContactsMode::Team && !is_team_available()) + { return; } lv_obj_t* parent = g_contacts_state.root - ? lv_obj_get_parent(g_contacts_state.root) - : lv_screen_active(); - if (lv_obj_t* chat_parent = ui_chat_get_container()) { - if (lv_obj_is_valid(chat_parent)) { + ? lv_obj_get_parent(g_contacts_state.root) + : lv_screen_active(); + if (lv_obj_t* chat_parent = ui_chat_get_container()) + { + if (lv_obj_is_valid(chat_parent)) + { parent = chat_parent; } } s_compose_prev_group = lv_group_get_default(); - if (!s_compose_group) { + if (!s_compose_group) + { s_compose_group = lv_group_create(); } lv_group_remove_all_objs(s_compose_group); @@ -752,23 +822,30 @@ static void open_chat_compose() chat::ChannelId channel = chat::ChannelId::PRIMARY; uint32_t peer_id = 0; std::string title; - if (g_contacts_state.current_mode == ContactsMode::Broadcast) { + if (g_contacts_state.current_mode == ContactsMode::Broadcast) + { channel = get_selected_channel(); peer_id = 0; title = "Broadcast"; - } else if (g_contacts_state.current_mode == ContactsMode::Team) { + } + else if (g_contacts_state.current_mode == ContactsMode::Team) + { channel = chat::ChannelId::PRIMARY; peer_id = 0; title = team::ui::g_team_state.team_name.empty() - ? "Team" - : team::ui::g_team_state.team_name; - } else { + ? "Team" + : team::ui::g_team_state.team_name; + } + else + { channel = chat::ChannelId::PRIMARY; peer_id = node->node_id; - if (g_contacts_state.contact_service) { + if (g_contacts_state.contact_service) + { title = g_contacts_state.contact_service->getContactName(node->node_id); } - if (title.empty()) { + if (title.empty()) + { title = node->display_name; } } @@ -778,15 +855,18 @@ static void open_chat_compose() g_contacts_state.compose_screen->setActionCallback(on_compose_action, nullptr); g_contacts_state.compose_screen->setBackCallback(on_compose_back, nullptr); - if (!g_contacts_state.compose_ime) { + if (!g_contacts_state.compose_ime) + { g_contacts_state.compose_ime = new ::ui::widgets::ImeWidget(); } lv_obj_t* compose_content = g_contacts_state.compose_screen->getContent(); lv_obj_t* compose_textarea = g_contacts_state.compose_screen->getTextarea(); - if (compose_content && compose_textarea) { + if (compose_content && compose_textarea) + { g_contacts_state.compose_ime->init(compose_content, compose_textarea); g_contacts_state.compose_screen->attachImeWidget(g_contacts_state.compose_ime); - if (lv_group_t* g = lv_group_get_default()) { + if (lv_group_t* g = lv_group_get_default()) + { lv_group_add_obj(g, g_contacts_state.compose_ime->focus_obj()); } } @@ -795,23 +875,32 @@ static void open_chat_compose() s_compose_peer_id = peer_id; s_compose_channel = channel; s_compose_is_team = (g_contacts_state.current_mode == ContactsMode::Team); - if (s_compose_is_team) { + if (s_compose_is_team) + { g_contacts_state.compose_screen->setActionLabels("Send", "Cancel"); g_contacts_state.compose_screen->setPositionButton("Position", true); - } else { + } + else + { g_contacts_state.compose_screen->setPositionButton(nullptr, false); } - if (s_compose_from_conversation && g_contacts_state.conversation_screen) { + if (s_compose_from_conversation && g_contacts_state.conversation_screen) + { lv_obj_add_flag(g_contacts_state.conversation_screen->getObj(), LV_OBJ_FLAG_HIDDEN); - if (g_contacts_state.conversation_timer) { + if (g_contacts_state.conversation_timer) + { lv_timer_pause(g_contacts_state.conversation_timer); } - } else { - if (g_contacts_state.root) { + } + else + { + if (g_contacts_state.root) + { lv_obj_add_flag(g_contacts_state.root, LV_OBJ_FLAG_HIDDEN); } - if (g_contacts_state.refresh_timer) { + if (g_contacts_state.refresh_timer) + { lv_timer_pause(g_contacts_state.refresh_timer); } } @@ -819,10 +908,12 @@ static void open_chat_compose() static void close_chat_compose() { - if (!g_contacts_state.compose_screen) { + if (!g_contacts_state.compose_screen) + { return; } - if (g_contacts_state.compose_ime) { + if (g_contacts_state.compose_ime) + { g_contacts_state.compose_ime->detach(); delete g_contacts_state.compose_ime; g_contacts_state.compose_ime = nullptr; @@ -833,27 +924,37 @@ static void close_chat_compose() s_compose_channel = chat::ChannelId::PRIMARY; s_compose_is_team = false; - if (s_compose_from_conversation && g_contacts_state.conversation_screen) { + if (s_compose_from_conversation && g_contacts_state.conversation_screen) + { lv_obj_clear_flag(g_contacts_state.conversation_screen->getObj(), LV_OBJ_FLAG_HIDDEN); - if (g_contacts_state.conversation_timer) { + if (g_contacts_state.conversation_timer) + { lv_timer_resume(g_contacts_state.conversation_timer); } s_compose_from_conversation = false; s_compose_prev_group = nullptr; - if (s_conv_group) { + if (s_conv_group) + { set_default_group(s_conv_group); } - } else { - if (g_contacts_state.root) { + } + else + { + if (g_contacts_state.root) + { lv_obj_clear_flag(g_contacts_state.root, LV_OBJ_FLAG_HIDDEN); } - if (g_contacts_state.refresh_timer) { + if (g_contacts_state.refresh_timer) + { lv_timer_resume(g_contacts_state.refresh_timer); } lv_group_t* contacts_group = contacts_input_get_group(); - if (contacts_group) { + if (contacts_group) + { set_default_group(contacts_group); - } else if (s_compose_prev_group) { + } + else if (s_compose_prev_group) + { set_default_group(s_compose_prev_group); } s_compose_prev_group = nullptr; @@ -866,16 +967,20 @@ static void on_compose_action(chat::ui::ChatComposeScreen::ActionIntent intent, { if ((intent == chat::ui::ChatComposeScreen::ActionIntent::Send || intent == chat::ui::ChatComposeScreen::ActionIntent::Position) && - g_contacts_state.compose_screen) { - if (s_compose_is_team) { + g_contacts_state.compose_screen) + { + if (s_compose_is_team) + { app::AppContext& app_ctx = app::AppContext::getInstance(); team::TeamController* controller = app_ctx.getTeamController(); - if (!controller || !is_team_available()) { + if (!controller || !is_team_available()) + { ::ui::SystemNotification::show("Team chat send failed", 2000); close_chat_compose(); return; } - if (!team::ui::g_team_state.has_team_psk) { + if (!team::ui::g_team_state.has_team_psk) + { ::ui::SystemNotification::show("Team keys not ready", 2000); close_chat_compose(); return; @@ -883,20 +988,24 @@ static void on_compose_action(chat::ui::ChatComposeScreen::ActionIntent intent, if (!controller->setKeysFromPsk(team::ui::g_team_state.team_id, team::ui::g_team_state.security_round, team::ui::g_team_state.team_psk.data(), - team::ui::g_team_state.team_psk.size())) { + team::ui::g_team_state.team_psk.size())) + { ::ui::SystemNotification::show("Team keys not ready", 2000); close_chat_compose(); return; } uint32_t ts = static_cast(time(nullptr)); - if (ts < 1577836800U) { + if (ts < 1577836800U) + { ts = static_cast(millis() / 1000); } - if (intent == chat::ui::ChatComposeScreen::ActionIntent::Position) { + if (intent == chat::ui::ChatComposeScreen::ActionIntent::Position) + { std::string label = g_contacts_state.compose_screen->getText(); gps::GpsState gps_state = gps::gps_get_data(); - if (!gps_state.valid) { + if (!gps_state.valid) + { ::ui::SystemNotification::show("No GPS fix", 2000); return; } @@ -904,19 +1013,22 @@ static void on_compose_action(chat::ui::ChatComposeScreen::ActionIntent intent, team::proto::TeamChatLocation loc; loc.lat_e7 = static_cast(gps_state.lat * 1e7); loc.lon_e7 = static_cast(gps_state.lng * 1e7); - if (gps_state.has_alt) { + if (gps_state.has_alt) + { double alt = gps_state.alt_m; if (alt > 32767.0) alt = 32767.0; if (alt < -32768.0) alt = -32768.0; loc.alt_m = static_cast(lround(alt)); } loc.ts = ts; - if (!label.empty()) { + if (!label.empty()) + { loc.label = label; } std::vector payload; - if (!team::proto::encodeTeamChatLocation(loc, payload)) { + if (!team::proto::encodeTeamChatLocation(loc, payload)) + { ::ui::SystemNotification::show("Team location encode failed", 2000); close_chat_compose(); return; @@ -926,13 +1038,15 @@ static void on_compose_action(chat::ui::ChatComposeScreen::ActionIntent intent, msg.header.type = team::proto::TeamChatType::Location; msg.header.ts = ts; msg.header.msg_id = s_team_msg_id++; - if (s_team_msg_id == 0) { + if (s_team_msg_id == 0) + { s_team_msg_id = 1; } msg.payload = payload; bool ok = controller->onChat(msg, chat::ChannelId::PRIMARY); - if (ok) { + if (ok) + { team::ui::team_ui_chatlog_append_structured( team::ui::g_team_state.team_id, 0, @@ -940,12 +1054,17 @@ static void on_compose_action(chat::ui::ChatComposeScreen::ActionIntent intent, ts, team::proto::TeamChatType::Location, payload); - } else { + } + else + { ::ui::SystemNotification::show("Team chat send failed", 2000); } - } else { + } + else + { std::string text = g_contacts_state.compose_screen->getText(); - if (text.empty()) { + if (text.empty()) + { close_chat_compose(); return; } @@ -953,13 +1072,15 @@ static void on_compose_action(chat::ui::ChatComposeScreen::ActionIntent intent, msg.header.type = team::proto::TeamChatType::Text; msg.header.ts = ts; msg.header.msg_id = s_team_msg_id++; - if (s_team_msg_id == 0) { + if (s_team_msg_id == 0) + { s_team_msg_id = 1; } msg.payload.assign(text.begin(), text.end()); bool ok = controller->onChat(msg, chat::ChannelId::PRIMARY); - if (ok) { + if (ok) + { team::ui::team_ui_chatlog_append_structured( team::ui::g_team_state.team_id, 0, @@ -967,25 +1088,29 @@ static void on_compose_action(chat::ui::ChatComposeScreen::ActionIntent intent, ts, team::proto::TeamChatType::Text, msg.payload); - } else { + } + else + { ::ui::SystemNotification::show("Team chat send failed", 2000); } } close_chat_compose(); - if (g_contacts_state.conversation_screen) { + if (g_contacts_state.conversation_screen) + { refresh_team_conversation(); } return; } std::string text = g_contacts_state.compose_screen->getText(); - if (!text.empty()) { - if (g_contacts_state.chat_service) { + if (!text.empty()) + { + if (g_contacts_state.chat_service) + { s_last_sent_text = text; s_last_sent_ts = static_cast(time(nullptr)); chat::MessageId msg_id = g_contacts_state.chat_service->sendText( - s_compose_channel, text, s_compose_peer_id - ); + s_compose_channel, text, s_compose_peer_id); g_contacts_state.compose_screen->beginSend( g_contacts_state.chat_service, msg_id, @@ -1007,9 +1132,11 @@ static void on_compose_send_done(bool ok, bool /*timeout*/, void* /*user_data*/) { if (ok && s_compose_is_team && team::ui::g_team_state.has_team_id && - !s_last_sent_text.empty()) { + !s_last_sent_text.empty()) + { uint32_t ts = s_last_sent_ts; - if (ts == 0) { + if (ts == 0) + { ts = static_cast(time(nullptr)); } team::ui::team_ui_chatlog_append(team::ui::g_team_state.team_id, @@ -1021,21 +1148,25 @@ static void on_compose_send_done(bool ok, bool /*timeout*/, void* /*user_data*/) close_chat_compose(); s_last_sent_text.clear(); s_last_sent_ts = 0; - if (g_contacts_state.conversation_screen) { + if (g_contacts_state.conversation_screen) + { refresh_team_conversation(); } } static void refresh_team_conversation() { - if (!g_contacts_state.conversation_screen || !is_team_available()) { + if (!g_contacts_state.conversation_screen || !is_team_available()) + { return; } g_contacts_state.conversation_screen->clearMessages(); std::vector entries; - if (team::ui::team_ui_chatlog_load_recent(team::ui::g_team_state.team_id, 50, entries)) { - for (const auto& entry : entries) { + if (team::ui::team_ui_chatlog_load_recent(team::ui::g_team_state.team_id, 50, entries)) + { + for (const auto& entry : entries) + { chat::ChatMessage msg; msg.channel = chat::ChannelId::PRIMARY; msg.peer = 0; @@ -1051,7 +1182,8 @@ static void refresh_team_conversation() static void on_team_conversation_action(chat::ui::ChatConversationScreen::ActionIntent intent, void* /*user_data*/) { - if (intent == chat::ui::ChatConversationScreen::ActionIntent::Reply) { + if (intent == chat::ui::ChatConversationScreen::ActionIntent::Reply) + { s_compose_from_conversation = true; open_chat_compose(); } @@ -1064,24 +1196,29 @@ static void on_team_conversation_back(void* /*user_data*/) static void open_team_conversation() { - if (g_contacts_state.conversation_screen) { + if (g_contacts_state.conversation_screen) + { return; } - if (!is_team_available()) { + if (!is_team_available()) + { return; } lv_obj_t* parent = g_contacts_state.root - ? lv_obj_get_parent(g_contacts_state.root) - : lv_screen_active(); - if (lv_obj_t* chat_parent = ui_chat_get_container()) { - if (lv_obj_is_valid(chat_parent)) { + ? lv_obj_get_parent(g_contacts_state.root) + : lv_screen_active(); + if (lv_obj_t* chat_parent = ui_chat_get_container()) + { + if (lv_obj_is_valid(chat_parent)) + { parent = chat_parent; } } s_conv_prev_group = lv_group_get_default(); - if (!s_conv_group) { + if (!s_conv_group) + { s_conv_group = lv_group_create(); } lv_group_remove_all_objs(s_conv_group); @@ -1093,49 +1230,62 @@ static void open_team_conversation() g_contacts_state.conversation_screen->setBackCallback(on_team_conversation_back, nullptr); const char* title = team::ui::g_team_state.team_name.empty() - ? "Team" - : team::ui::g_team_state.team_name.c_str(); + ? "Team" + : team::ui::g_team_state.team_name.c_str(); g_contacts_state.conversation_screen->setHeaderText(title, nullptr); g_contacts_state.conversation_screen->updateBatteryFromBoard(); refresh_team_conversation(); - if (g_contacts_state.root) { + if (g_contacts_state.root) + { lv_obj_add_flag(g_contacts_state.root, LV_OBJ_FLAG_HIDDEN); } - if (g_contacts_state.refresh_timer) { + if (g_contacts_state.refresh_timer) + { lv_timer_pause(g_contacts_state.refresh_timer); } - if (!g_contacts_state.conversation_timer) { - g_contacts_state.conversation_timer = lv_timer_create([](lv_timer_t* timer) { + if (!g_contacts_state.conversation_timer) + { + g_contacts_state.conversation_timer = lv_timer_create([](lv_timer_t* timer) + { (void)timer; - refresh_team_conversation(); - }, 1000, nullptr); + refresh_team_conversation(); }, + 1000, nullptr); lv_timer_set_repeat_count(g_contacts_state.conversation_timer, -1); - } else { + } + else + { lv_timer_resume(g_contacts_state.conversation_timer); } } static void close_team_conversation() { - if (g_contacts_state.conversation_timer) { + if (g_contacts_state.conversation_timer) + { lv_timer_pause(g_contacts_state.conversation_timer); } - if (g_contacts_state.conversation_screen) { + if (g_contacts_state.conversation_screen) + { delete g_contacts_state.conversation_screen; g_contacts_state.conversation_screen = nullptr; } - if (g_contacts_state.root) { + if (g_contacts_state.root) + { lv_obj_clear_flag(g_contacts_state.root, LV_OBJ_FLAG_HIDDEN); } - if (g_contacts_state.refresh_timer) { + if (g_contacts_state.refresh_timer) + { lv_timer_resume(g_contacts_state.refresh_timer); } - if (s_conv_prev_group) { + if (s_conv_prev_group) + { set_default_group(s_conv_prev_group); - } else if (lv_group_t* contacts_group = contacts_input_get_group()) { + } + else if (lv_group_t* contacts_group = contacts_input_get_group()) + { set_default_group(contacts_group); } s_conv_prev_group = nullptr; @@ -1145,17 +1295,20 @@ static void close_team_conversation() static void send_team_position() { - if (!is_team_available()) { + if (!is_team_available()) + { return; } app::AppContext& app_ctx = app::AppContext::getInstance(); team::TeamController* controller = app_ctx.getTeamController(); - if (!controller) { + if (!controller) + { return; } gps::GpsState gps_state = gps::gps_get_data(); - if (!gps_state.valid) { + if (!gps_state.valid) + { CONTACTS_LOG("[Contacts] team position: no gps fix\n"); return; } @@ -1170,16 +1323,19 @@ static void send_team_position() pos.has_longitude_i = true; pos.longitude_i = lon_e7; pos.location_source = meshtastic_Position_LocSource_LOC_INTERNAL; - if (gps_state.has_alt) { + if (gps_state.has_alt) + { pos.has_altitude = true; pos.altitude = static_cast(lround(gps_state.alt_m)); pos.altitude_source = meshtastic_Position_AltSource_ALT_INTERNAL; } - if (gps_state.has_speed) { + if (gps_state.has_speed) + { pos.has_ground_speed = true; pos.ground_speed = static_cast(lround(gps_state.speed_mps)); } - if (gps_state.has_course) { + if (gps_state.has_course) + { double course = gps_state.course_deg; if (course < 0.0) course = 0.0; uint32_t cdeg = static_cast(lround(course * 100.0)); @@ -1187,32 +1343,38 @@ static void send_team_position() pos.has_ground_track = true; pos.ground_track = cdeg; } - if (gps_state.satellites > 0) { + if (gps_state.satellites > 0) + { pos.sats_in_view = gps_state.satellites; } - if (ts >= 1577836800U) { + if (ts >= 1577836800U) + { pos.timestamp = ts; } uint8_t buf[128]; pb_ostream_t stream = pb_ostream_from_buffer(buf, sizeof(buf)); - if (!pb_encode(&stream, meshtastic_Position_fields, &pos)) { + if (!pb_encode(&stream, meshtastic_Position_fields, &pos)) + { CONTACTS_LOG("[Contacts] team position: encode fail\n"); return; } std::vector payload(buf, buf + stream.bytes_written); bool ok = controller->onPosition(payload, chat::ChannelId::PRIMARY); - if (ok) { + if (ok) + { int16_t alt_m = gps_state.has_alt - ? static_cast(lround(gps_state.alt_m)) - : 0; - if (gps_state.has_alt) { + ? static_cast(lround(gps_state.alt_m)) + : 0; + if (gps_state.has_alt) + { if (gps_state.alt_m > 32767.0) alt_m = 32767; else if (gps_state.alt_m < -32768.0) alt_m = -32768; } uint16_t speed_dmps = 0; - if (gps_state.has_speed) { + if (gps_state.has_speed) + { double dmps = gps_state.speed_mps * 10.0; if (dmps < 0.0) dmps = 0.0; if (dmps > 65535.0) dmps = 65535.0; @@ -1230,31 +1392,38 @@ static void send_team_position() static void on_add_edit_save_clicked(lv_event_t* /*e*/) { - if (!g_contacts_state.add_edit_textarea || !g_contacts_state.add_edit_error_label) { + if (!g_contacts_state.add_edit_textarea || !g_contacts_state.add_edit_error_label) + { return; } const char* nickname = lv_textarea_get_text(g_contacts_state.add_edit_textarea); - if (!nickname || strlen(nickname) == 0) { + if (!nickname || strlen(nickname) == 0) + { lv_label_set_text(g_contacts_state.add_edit_error_label, "Name required"); lv_obj_clear_flag(g_contacts_state.add_edit_error_label, LV_OBJ_FLAG_HIDDEN); return; } - if (strlen(nickname) > 12) { + if (strlen(nickname) > 12) + { lv_label_set_text(g_contacts_state.add_edit_error_label, "Name too long"); lv_obj_clear_flag(g_contacts_state.add_edit_error_label, LV_OBJ_FLAG_HIDDEN); return; } - if (!g_contacts_state.contact_service) { + if (!g_contacts_state.contact_service) + { return; } auto contacts = g_contacts_state.contact_service->getContacts(); - for (const auto& c : contacts) { - if (c.node_id == g_contacts_state.modal_node_id) { + for (const auto& c : contacts) + { + if (c.node_id == g_contacts_state.modal_node_id) + { continue; } - if (c.display_name == nickname) { + if (c.display_name == nickname) + { lv_label_set_text(g_contacts_state.add_edit_error_label, "Duplicate name not allowed"); lv_obj_clear_flag(g_contacts_state.add_edit_error_label, LV_OBJ_FLAG_HIDDEN); return; @@ -1262,13 +1431,17 @@ static void on_add_edit_save_clicked(lv_event_t* /*e*/) } bool ok = false; - if (g_contacts_state.modal_is_edit) { + if (g_contacts_state.modal_is_edit) + { ok = g_contacts_state.contact_service->editContact(g_contacts_state.modal_node_id, nickname); - } else { + } + else + { ok = g_contacts_state.contact_service->addContact(g_contacts_state.modal_node_id, nickname); } - if (!ok) { + if (!ok) + { lv_label_set_text(g_contacts_state.add_edit_error_label, "Save failed"); lv_obj_clear_flag(g_contacts_state.add_edit_error_label, LV_OBJ_FLAG_HIDDEN); return; @@ -1278,7 +1451,8 @@ static void on_add_edit_save_clicked(lv_event_t* /*e*/) g_contacts_state.add_edit_error_label = nullptr; modal_close(g_contacts_state.add_edit_modal); - if (!g_contacts_state.modal_is_edit) { + if (!g_contacts_state.modal_is_edit) + { g_contacts_state.current_mode = ContactsMode::Contacts; g_contacts_state.current_page = 0; } @@ -1298,7 +1472,8 @@ static void on_add_edit_cancel_clicked(lv_event_t* /*e*/) static void on_del_confirm_clicked(lv_event_t* /*e*/) { - if (g_contacts_state.contact_service) { + if (g_contacts_state.contact_service) + { g_contacts_state.contact_service->removeContact(g_contacts_state.modal_node_id); } @@ -1325,7 +1500,8 @@ static void ensure_action_buttons() { if (!g_contacts_state.action_panel) return; - if (g_contacts_state.current_mode != g_contacts_state.last_action_mode) { + if (g_contacts_state.current_mode != g_contacts_state.last_action_mode) + { lv_obj_clean(g_contacts_state.action_panel); g_contacts_state.chat_btn = nullptr; g_contacts_state.position_btn = nullptr; @@ -1338,23 +1514,23 @@ static void ensure_action_buttons() } /* ---------- helper ---------- */ - auto set_enabled = [](lv_obj_t* obj, bool en) { + auto set_enabled = [](lv_obj_t* obj, bool en) + { if (!obj) return; if (en) lv_obj_clear_state(obj, LV_STATE_DISABLED); - else lv_obj_add_state(obj, LV_STATE_DISABLED); + else lv_obj_add_state(obj, LV_STATE_DISABLED); }; /* ---------- Chat ---------- */ - if (!g_contacts_state.chat_btn) { + if (!g_contacts_state.chat_btn) + { g_contacts_state.chat_btn = lv_btn_create(g_contacts_state.action_panel); lv_obj_set_size( g_contacts_state.chat_btn, - kButtonWidth, kButtonHeight - ); + kButtonWidth, kButtonHeight); contacts::ui::style::apply_btn_basic( - g_contacts_state.chat_btn - ); + g_contacts_state.chat_btn); lv_obj_set_style_bg_color(g_contacts_state.chat_btn, lv_color_hex(0xEBA341), LV_PART_MAIN); lv_obj_t* l = lv_label_create(g_contacts_state.chat_btn); @@ -1365,21 +1541,19 @@ static void ensure_action_buttons() g_contacts_state.chat_btn, on_action_clicked, LV_EVENT_CLICKED, - nullptr - ); + nullptr); } /* ---------- Position ---------- */ - if (!g_contacts_state.position_btn) { + if (!g_contacts_state.position_btn) + { g_contacts_state.position_btn = lv_btn_create(g_contacts_state.action_panel); lv_obj_set_size( g_contacts_state.position_btn, - kButtonWidth, kButtonHeight - ); + kButtonWidth, kButtonHeight); contacts::ui::style::apply_btn_basic( - g_contacts_state.position_btn - ); + g_contacts_state.position_btn); lv_obj_set_style_bg_color(g_contacts_state.position_btn, lv_color_hex(0xF1B65A), LV_PART_MAIN); lv_obj_t* l = lv_label_create(g_contacts_state.position_btn); @@ -1390,21 +1564,19 @@ static void ensure_action_buttons() g_contacts_state.position_btn, on_action_clicked, LV_EVENT_CLICKED, - nullptr - ); + nullptr); } /* ---------- Edit ---------- */ - if (!g_contacts_state.edit_btn) { + if (!g_contacts_state.edit_btn) + { g_contacts_state.edit_btn = lv_btn_create(g_contacts_state.action_panel); lv_obj_set_size( g_contacts_state.edit_btn, - kButtonWidth, kButtonHeight - ); + kButtonWidth, kButtonHeight); contacts::ui::style::apply_btn_basic( - g_contacts_state.edit_btn - ); + g_contacts_state.edit_btn); lv_obj_set_style_bg_color(g_contacts_state.edit_btn, lv_color_hex(0xF1B65A), LV_PART_MAIN); lv_obj_t* l = lv_label_create(g_contacts_state.edit_btn); @@ -1415,21 +1587,19 @@ static void ensure_action_buttons() g_contacts_state.edit_btn, on_action_clicked, LV_EVENT_CLICKED, - nullptr - ); + nullptr); } /* ---------- Del ---------- */ - if (!g_contacts_state.del_btn) { + if (!g_contacts_state.del_btn) + { g_contacts_state.del_btn = lv_btn_create(g_contacts_state.action_panel); lv_obj_set_size( g_contacts_state.del_btn, - kButtonWidth, kButtonHeight - ); + kButtonWidth, kButtonHeight); contacts::ui::style::apply_btn_basic( - g_contacts_state.del_btn - ); + g_contacts_state.del_btn); lv_obj_set_style_bg_color(g_contacts_state.del_btn, lv_color_hex(0xEBA341), LV_PART_MAIN); lv_obj_t* l = lv_label_create(g_contacts_state.del_btn); @@ -1440,21 +1610,19 @@ static void ensure_action_buttons() g_contacts_state.del_btn, on_action_clicked, LV_EVENT_CLICKED, - nullptr - ); + nullptr); } /* ---------- Add ---------- */ - if (!g_contacts_state.add_btn) { + if (!g_contacts_state.add_btn) + { g_contacts_state.add_btn = lv_btn_create(g_contacts_state.action_panel); lv_obj_set_size( g_contacts_state.add_btn, - kButtonWidth, kButtonHeight - ); + kButtonWidth, kButtonHeight); contacts::ui::style::apply_btn_basic( - g_contacts_state.add_btn - ); + g_contacts_state.add_btn); lv_obj_set_style_bg_color(g_contacts_state.add_btn, lv_color_hex(0xF1B65A), LV_PART_MAIN); lv_obj_t* l = lv_label_create(g_contacts_state.add_btn); @@ -1465,21 +1633,19 @@ static void ensure_action_buttons() g_contacts_state.add_btn, on_action_clicked, LV_EVENT_CLICKED, - nullptr - ); + nullptr); } /* ---------- Info ---------- */ - if (!g_contacts_state.info_btn) { + if (!g_contacts_state.info_btn) + { g_contacts_state.info_btn = lv_btn_create(g_contacts_state.action_panel); lv_obj_set_size( g_contacts_state.info_btn, - kButtonWidth, kButtonHeight - ); + kButtonWidth, kButtonHeight); contacts::ui::style::apply_btn_basic( - g_contacts_state.info_btn - ); + g_contacts_state.info_btn); lv_obj_set_style_bg_color(g_contacts_state.info_btn, lv_color_hex(0xF1B65A), LV_PART_MAIN); lv_obj_t* l = lv_label_create(g_contacts_state.info_btn); @@ -1490,26 +1656,23 @@ static void ensure_action_buttons() g_contacts_state.info_btn, on_action_clicked, LV_EVENT_CLICKED, - nullptr - ); + nullptr); } /* ---------- Back(始终存在,放最上面) ---------- */ - if (!g_contacts_state.action_back_btn) { + if (!g_contacts_state.action_back_btn) + { g_contacts_state.action_back_btn = lv_btn_create(g_contacts_state.action_panel); lv_obj_set_size( g_contacts_state.action_back_btn, - kButtonWidth, kButtonHeight - ); + kButtonWidth, kButtonHeight); contacts::ui::style::apply_btn_basic( - g_contacts_state.action_back_btn - ); + g_contacts_state.action_back_btn); lv_obj_set_style_bg_color(g_contacts_state.action_back_btn, lv_color_hex(0xEBA341), LV_PART_MAIN); lv_obj_t* l = lv_label_create( - g_contacts_state.action_back_btn - ); + g_contacts_state.action_back_btn); lv_label_set_text(l, "Back"); lv_obj_center(l); @@ -1517,47 +1680,53 @@ static void ensure_action_buttons() g_contacts_state.action_back_btn, on_action_back_clicked, LV_EVENT_CLICKED, - nullptr - ); + nullptr); } /* ---------- 模式可见性 ---------- */ - if (g_contacts_state.current_mode == ContactsMode::Contacts) { + if (g_contacts_state.current_mode == ContactsMode::Contacts) + { lv_obj_clear_flag(g_contacts_state.edit_btn, LV_OBJ_FLAG_HIDDEN); - lv_obj_clear_flag(g_contacts_state.del_btn, LV_OBJ_FLAG_HIDDEN); - lv_obj_add_flag (g_contacts_state.add_btn, LV_OBJ_FLAG_HIDDEN); + lv_obj_clear_flag(g_contacts_state.del_btn, LV_OBJ_FLAG_HIDDEN); + lv_obj_add_flag(g_contacts_state.add_btn, LV_OBJ_FLAG_HIDDEN); lv_obj_clear_flag(g_contacts_state.info_btn, LV_OBJ_FLAG_HIDDEN); - lv_obj_add_flag (g_contacts_state.position_btn, LV_OBJ_FLAG_HIDDEN); + lv_obj_add_flag(g_contacts_state.position_btn, LV_OBJ_FLAG_HIDDEN); lv_obj_set_style_bg_color(g_contacts_state.chat_btn, lv_color_hex(0xEBA341), LV_PART_MAIN); lv_obj_set_style_bg_color(g_contacts_state.edit_btn, lv_color_hex(0xF1B65A), LV_PART_MAIN); - lv_obj_set_style_bg_color(g_contacts_state.del_btn, lv_color_hex(0xEBA341), LV_PART_MAIN); + lv_obj_set_style_bg_color(g_contacts_state.del_btn, lv_color_hex(0xEBA341), LV_PART_MAIN); lv_obj_set_style_bg_color(g_contacts_state.info_btn, lv_color_hex(0xF1B65A), LV_PART_MAIN); lv_obj_set_style_bg_color(g_contacts_state.action_back_btn, lv_color_hex(0xEBA341), LV_PART_MAIN); - } else if (g_contacts_state.current_mode == ContactsMode::Nearby) { - lv_obj_add_flag (g_contacts_state.edit_btn, LV_OBJ_FLAG_HIDDEN); - lv_obj_add_flag (g_contacts_state.del_btn, LV_OBJ_FLAG_HIDDEN); - lv_obj_clear_flag(g_contacts_state.add_btn, LV_OBJ_FLAG_HIDDEN); + } + else if (g_contacts_state.current_mode == ContactsMode::Nearby) + { + lv_obj_add_flag(g_contacts_state.edit_btn, LV_OBJ_FLAG_HIDDEN); + lv_obj_add_flag(g_contacts_state.del_btn, LV_OBJ_FLAG_HIDDEN); + lv_obj_clear_flag(g_contacts_state.add_btn, LV_OBJ_FLAG_HIDDEN); lv_obj_clear_flag(g_contacts_state.info_btn, LV_OBJ_FLAG_HIDDEN); - lv_obj_add_flag (g_contacts_state.position_btn, LV_OBJ_FLAG_HIDDEN); + lv_obj_add_flag(g_contacts_state.position_btn, LV_OBJ_FLAG_HIDDEN); lv_obj_set_style_bg_color(g_contacts_state.chat_btn, lv_color_hex(0xEBA341), LV_PART_MAIN); - lv_obj_set_style_bg_color(g_contacts_state.add_btn, lv_color_hex(0xF1B65A), LV_PART_MAIN); + lv_obj_set_style_bg_color(g_contacts_state.add_btn, lv_color_hex(0xF1B65A), LV_PART_MAIN); lv_obj_set_style_bg_color(g_contacts_state.info_btn, lv_color_hex(0xEBA341), LV_PART_MAIN); lv_obj_set_style_bg_color(g_contacts_state.action_back_btn, lv_color_hex(0xF1B65A), LV_PART_MAIN); - } else if (g_contacts_state.current_mode == ContactsMode::Team) { - lv_obj_add_flag (g_contacts_state.edit_btn, LV_OBJ_FLAG_HIDDEN); - lv_obj_add_flag (g_contacts_state.del_btn, LV_OBJ_FLAG_HIDDEN); - lv_obj_add_flag (g_contacts_state.add_btn, LV_OBJ_FLAG_HIDDEN); - lv_obj_add_flag (g_contacts_state.info_btn, LV_OBJ_FLAG_HIDDEN); + } + else if (g_contacts_state.current_mode == ContactsMode::Team) + { + lv_obj_add_flag(g_contacts_state.edit_btn, LV_OBJ_FLAG_HIDDEN); + lv_obj_add_flag(g_contacts_state.del_btn, LV_OBJ_FLAG_HIDDEN); + lv_obj_add_flag(g_contacts_state.add_btn, LV_OBJ_FLAG_HIDDEN); + lv_obj_add_flag(g_contacts_state.info_btn, LV_OBJ_FLAG_HIDDEN); lv_obj_clear_flag(g_contacts_state.position_btn, LV_OBJ_FLAG_HIDDEN); lv_obj_set_style_bg_color(g_contacts_state.chat_btn, lv_color_hex(0xEBA341), LV_PART_MAIN); lv_obj_set_style_bg_color(g_contacts_state.position_btn, lv_color_hex(0xF1B65A), LV_PART_MAIN); lv_obj_set_style_bg_color(g_contacts_state.action_back_btn, lv_color_hex(0xEBA341), LV_PART_MAIN); - } else { - lv_obj_add_flag (g_contacts_state.edit_btn, LV_OBJ_FLAG_HIDDEN); - lv_obj_add_flag (g_contacts_state.del_btn, LV_OBJ_FLAG_HIDDEN); - lv_obj_add_flag (g_contacts_state.add_btn, LV_OBJ_FLAG_HIDDEN); - lv_obj_add_flag (g_contacts_state.info_btn, LV_OBJ_FLAG_HIDDEN); - lv_obj_add_flag (g_contacts_state.position_btn, LV_OBJ_FLAG_HIDDEN); + } + else + { + lv_obj_add_flag(g_contacts_state.edit_btn, LV_OBJ_FLAG_HIDDEN); + lv_obj_add_flag(g_contacts_state.del_btn, LV_OBJ_FLAG_HIDDEN); + lv_obj_add_flag(g_contacts_state.add_btn, LV_OBJ_FLAG_HIDDEN); + lv_obj_add_flag(g_contacts_state.info_btn, LV_OBJ_FLAG_HIDDEN); + lv_obj_add_flag(g_contacts_state.position_btn, LV_OBJ_FLAG_HIDDEN); lv_obj_set_style_bg_color(g_contacts_state.chat_btn, lv_color_hex(0xEBA341), LV_PART_MAIN); lv_obj_set_style_bg_color(g_contacts_state.action_back_btn, lv_color_hex(0xF1B65A), LV_PART_MAIN); } @@ -1570,19 +1739,24 @@ static void ensure_action_buttons() set_enabled(g_contacts_state.action_back_btn, true); set_enabled(g_contacts_state.chat_btn, has_sel); - if (g_contacts_state.current_mode == ContactsMode::Team) { + if (g_contacts_state.current_mode == ContactsMode::Team) + { set_enabled(g_contacts_state.position_btn, has_sel); } if (g_contacts_state.current_mode != ContactsMode::Broadcast && - g_contacts_state.current_mode != ContactsMode::Team) { + g_contacts_state.current_mode != ContactsMode::Team) + { set_enabled(g_contacts_state.info_btn, has_sel); } - if (g_contacts_state.current_mode == ContactsMode::Contacts) { + if (g_contacts_state.current_mode == ContactsMode::Contacts) + { set_enabled(g_contacts_state.edit_btn, has_sel); - set_enabled(g_contacts_state.del_btn, has_sel); - } else if (g_contacts_state.current_mode == ContactsMode::Nearby) { - set_enabled(g_contacts_state.add_btn, has_sel); + set_enabled(g_contacts_state.del_btn, has_sel); + } + else if (g_contacts_state.current_mode == ContactsMode::Nearby) + { + set_enabled(g_contacts_state.add_btn, has_sel); } } @@ -1591,27 +1765,33 @@ static void on_action_clicked(lv_event_t* e) lv_obj_t* tgt = (lv_obj_t*)lv_event_get_target(e); CONTACTS_LOG("[Contacts] action clicked, selected=%d\n", g_contacts_state.selected_index); - if (tgt == g_contacts_state.chat_btn) { + if (tgt == g_contacts_state.chat_btn) + { open_chat_compose(); return; } - if (tgt == g_contacts_state.position_btn) { + if (tgt == g_contacts_state.position_btn) + { send_team_position(); return; } - if (tgt == g_contacts_state.info_btn) { + if (tgt == g_contacts_state.info_btn) + { open_info_modal(); return; } - if (tgt == g_contacts_state.edit_btn) { + if (tgt == g_contacts_state.edit_btn) + { open_add_edit_modal(true); return; } - if (tgt == g_contacts_state.add_btn) { + if (tgt == g_contacts_state.add_btn) + { open_add_edit_modal(false); return; } - if (tgt == g_contacts_state.del_btn) { + if (tgt == g_contacts_state.del_btn) + { open_delete_confirm_modal(); return; } @@ -1622,59 +1802,70 @@ static void on_action_back_clicked(lv_event_t* /*e*/) contacts_focus_to_list(); } - - - - // ---------------- UI refresh (public API) ---------------- void refresh_ui() { - if (g_contacts_state.list_panel == nullptr) { + if (g_contacts_state.list_panel == nullptr) + { return; } - if (s_refreshing_ui) { + if (s_refreshing_ui) + { return; } s_refreshing_ui = true; lv_obj_t* active = lv_screen_active(); - if (!active) { + if (!active) + { CONTACTS_LOG("[Contacts] WARNING: lv_screen_active() is null\n"); - } else { + } + else + { CONTACTS_LOG("[Contacts] refresh_ui: active=%p root=%p list_panel=%p\n", active, g_contacts_state.root, g_contacts_state.list_panel); } - if (g_contacts_state.root && !lv_obj_is_valid(g_contacts_state.root)) { + if (g_contacts_state.root && !lv_obj_is_valid(g_contacts_state.root)) + { CONTACTS_LOG("[Contacts] WARNING: root is invalid\n"); } - if (g_contacts_state.list_panel && !lv_obj_is_valid(g_contacts_state.list_panel)) { + if (g_contacts_state.list_panel && !lv_obj_is_valid(g_contacts_state.list_panel)) + { CONTACTS_LOG("[Contacts] WARNING: list_panel is invalid\n"); } lv_obj_clear_flag(g_contacts_state.list_panel, LV_OBJ_FLAG_SCROLLABLE); - if (g_contacts_state.sub_container) { + if (g_contacts_state.sub_container) + { lv_obj_clear_flag(g_contacts_state.sub_container, LV_OBJ_FLAG_SCROLLABLE); } bool team_available = is_team_available(); - if (g_contacts_state.team_btn) { - if (team_available) { + if (g_contacts_state.team_btn) + { + if (team_available) + { lv_obj_clear_flag(g_contacts_state.team_btn, LV_OBJ_FLAG_HIDDEN); - } else { + } + else + { lv_obj_add_flag(g_contacts_state.team_btn, LV_OBJ_FLAG_HIDDEN); } } - if (!team_available && g_contacts_state.current_mode == ContactsMode::Team) { + if (!team_available && g_contacts_state.current_mode == ContactsMode::Team) + { g_contacts_state.current_mode = ContactsMode::Contacts; g_contacts_state.current_page = 0; g_contacts_state.selected_index = -1; } // Log nearby nodes if in nearby mode (unchanged) - if (g_contacts_state.current_mode == ContactsMode::Nearby) { + if (g_contacts_state.current_mode == ContactsMode::Nearby) + { CONTACTS_LOG("[Contacts] Nearby mode: %zu nodes\n", g_contacts_state.nearby_list.size()); - for (size_t i = 0; i < g_contacts_state.nearby_list.size(); ++i) { + for (size_t i = 0; i < g_contacts_state.nearby_list.size(); ++i) + { const auto& node = g_contacts_state.nearby_list[i]; CONTACTS_LOG(" Node %zu: %s (last_seen=%u, snr=%.1f)\n", i, node.display_name.c_str(), node.last_seen, node.snr); @@ -1685,8 +1876,10 @@ void refresh_ui() contacts::ui::layout::ensure_list_subcontainers(); // Clear existing list items (unchanged) - for (auto* item : g_contacts_state.list_items) { - if (item != nullptr) { + for (auto* item : g_contacts_state.list_items) + { + if (item != nullptr) + { lv_obj_del(item); } } @@ -1696,11 +1889,16 @@ void refresh_ui() std::vector broadcast_list; std::vector team_list; const std::vector* current_list = nullptr; - if (g_contacts_state.current_mode == ContactsMode::Contacts) { + if (g_contacts_state.current_mode == ContactsMode::Contacts) + { current_list = &g_contacts_state.contacts_list; - } else if (g_contacts_state.current_mode == ContactsMode::Nearby) { + } + else if (g_contacts_state.current_mode == ContactsMode::Nearby) + { current_list = &g_contacts_state.nearby_list; - } else if (g_contacts_state.current_mode == ContactsMode::Team) { + } + else if (g_contacts_state.current_mode == ContactsMode::Team) + { chat::contacts::NodeInfo team_node{}; team_node.node_id = 0; team_node.last_seen = 0; @@ -1708,11 +1906,13 @@ void refresh_ui() team_node.is_contact = false; team_node.protocol = chat::contacts::NodeProtocolType::Unknown; team_node.display_name = team::ui::g_team_state.team_name.empty() - ? "Team" - : team::ui::g_team_state.team_name; + ? "Team" + : team::ui::g_team_state.team_name; team_list.push_back(team_node); current_list = &team_list; - } else { + } + else + { chat::contacts::NodeInfo primary{}; primary.display_name = "Primary"; chat::contacts::NodeInfo secondary{}; @@ -1724,7 +1924,8 @@ void refresh_ui() g_contacts_state.total_items = current_list->size(); - if (g_contacts_state.selected_index >= static_cast(g_contacts_state.total_items)) { + if (g_contacts_state.selected_index >= static_cast(g_contacts_state.total_items)) + { g_contacts_state.selected_index = -1; } @@ -1732,31 +1933,42 @@ void refresh_ui() int total_pages = (static_cast(g_contacts_state.total_items) + kItemsPerPage - 1) / kItemsPerPage; if (total_pages == 0) total_pages = 1; - if (g_contacts_state.current_page >= total_pages) { + if (g_contacts_state.current_page >= total_pages) + { g_contacts_state.current_page = total_pages - 1; } - if (g_contacts_state.current_page < 0) { + if (g_contacts_state.current_page < 0) + { g_contacts_state.current_page = 0; } int start_idx = g_contacts_state.current_page * kItemsPerPage; - int end_idx = start_idx + kItemsPerPage; - if (end_idx > static_cast(g_contacts_state.total_items)) { + int end_idx = start_idx + kItemsPerPage; + if (end_idx > static_cast(g_contacts_state.total_items)) + { end_idx = static_cast(g_contacts_state.total_items); } // Create list items for current page (structure in layout; status string computed here) - for (int i = start_idx; i < end_idx; ++i) { + for (int i = start_idx; i < end_idx; ++i) + { const auto& node = (*current_list)[i]; std::string status_text; - if (g_contacts_state.current_mode == ContactsMode::Contacts) { + if (g_contacts_state.current_mode == ContactsMode::Contacts) + { status_text = format_time_status(node.last_seen); - } else if (g_contacts_state.current_mode == ContactsMode::Nearby) { + } + else if (g_contacts_state.current_mode == ContactsMode::Nearby) + { status_text = format_snr(node.snr); - } else if (g_contacts_state.current_mode == ContactsMode::Team) { + } + else if (g_contacts_state.current_mode == ContactsMode::Team) + { status_text = "Team"; - } else { + } + else + { status_text = "Channel"; } @@ -1764,19 +1976,18 @@ void refresh_ui() g_contacts_state.sub_container, node, g_contacts_state.current_mode, - status_text.c_str() - ); + status_text.c_str()); // 让 item 记录它对应的全局 index,按压时能知道选中了谁 lv_obj_set_user_data(item, (void*)(intptr_t)i); // 按压列表行:进入第三列 lv_obj_add_event_cb(item, on_list_item_clicked, LV_EVENT_CLICKED, nullptr); - } // Create bottom buttons (unchanged behavior: create if null; NO event binding) - if (g_contacts_state.next_btn == nullptr) { + if (g_contacts_state.next_btn == nullptr) + { g_contacts_state.next_btn = lv_btn_create(g_contacts_state.bottom_container); lv_obj_set_size(g_contacts_state.next_btn, kButtonWidth, kButtonHeight); contacts::ui::style::apply_btn_basic(g_contacts_state.next_btn); @@ -1788,7 +1999,8 @@ void refresh_ui() lv_obj_add_event_cb(g_contacts_state.next_btn, on_next_clicked, LV_EVENT_CLICKED, nullptr); } - if (g_contacts_state.prev_btn == nullptr) { + if (g_contacts_state.prev_btn == nullptr) + { g_contacts_state.prev_btn = lv_btn_create(g_contacts_state.bottom_container); lv_obj_set_size(g_contacts_state.prev_btn, kButtonWidth, kButtonHeight); contacts::ui::style::apply_btn_basic(g_contacts_state.prev_btn); @@ -1800,7 +2012,8 @@ void refresh_ui() lv_obj_add_event_cb(g_contacts_state.prev_btn, on_prev_clicked, LV_EVENT_CLICKED, nullptr); } - if (g_contacts_state.back_btn == nullptr) { + if (g_contacts_state.back_btn == nullptr) + { g_contacts_state.back_btn = lv_btn_create(g_contacts_state.bottom_container); lv_obj_set_size(g_contacts_state.back_btn, kButtonWidth, kButtonHeight); contacts::ui::style::apply_btn_basic(g_contacts_state.back_btn); @@ -1813,10 +2026,13 @@ void refresh_ui() } // Enable/disable buttons based on pagination (unchanged from original) - if (total_pages > 1) { + if (total_pages > 1) + { lv_obj_clear_state(g_contacts_state.prev_btn, LV_STATE_DISABLED); lv_obj_clear_state(g_contacts_state.next_btn, LV_STATE_DISABLED); - } else { + } + else + { lv_obj_add_state(g_contacts_state.prev_btn, LV_STATE_DISABLED); lv_obj_add_state(g_contacts_state.next_btn, LV_STATE_DISABLED); } @@ -1825,32 +2041,43 @@ void refresh_ui() // Update filter highlights (visual-only, using CHECKED state) if (g_contacts_state.contacts_btn != nullptr && g_contacts_state.nearby_btn != nullptr && - g_contacts_state.broadcast_btn != nullptr) { + g_contacts_state.broadcast_btn != nullptr) + { lv_obj_clear_state(g_contacts_state.contacts_btn, LV_STATE_CHECKED); lv_obj_clear_state(g_contacts_state.nearby_btn, LV_STATE_CHECKED); lv_obj_clear_state(g_contacts_state.broadcast_btn, LV_STATE_CHECKED); - if (g_contacts_state.team_btn) { + if (g_contacts_state.team_btn) + { lv_obj_clear_state(g_contacts_state.team_btn, LV_STATE_CHECKED); } - if (g_contacts_state.current_mode == ContactsMode::Contacts) { + if (g_contacts_state.current_mode == ContactsMode::Contacts) + { lv_obj_add_state(g_contacts_state.contacts_btn, LV_STATE_CHECKED); - } else if (g_contacts_state.current_mode == ContactsMode::Nearby) { + } + else if (g_contacts_state.current_mode == ContactsMode::Nearby) + { lv_obj_add_state(g_contacts_state.nearby_btn, LV_STATE_CHECKED); - } else if (g_contacts_state.current_mode == ContactsMode::Broadcast) { + } + else if (g_contacts_state.current_mode == ContactsMode::Broadcast) + { lv_obj_add_state(g_contacts_state.broadcast_btn, LV_STATE_CHECKED); - } else if (g_contacts_state.team_btn) { + } + else if (g_contacts_state.team_btn) + { lv_obj_add_state(g_contacts_state.team_btn, LV_STATE_CHECKED); } } - if (g_contacts_state.list_panel) { + if (g_contacts_state.list_panel) + { lv_obj_scroll_to_y(g_contacts_state.list_panel, 0, LV_ANIM_OFF); lv_obj_invalidate(g_contacts_state.list_panel); lv_obj_add_flag(g_contacts_state.list_panel, LV_OBJ_FLAG_SCROLLABLE); lv_obj_set_scrollbar_mode(g_contacts_state.list_panel, LV_SCROLLBAR_MODE_AUTO); } - if (g_contacts_state.sub_container) { + if (g_contacts_state.sub_container) + { lv_obj_add_flag(g_contacts_state.sub_container, LV_OBJ_FLAG_SCROLLABLE); lv_obj_set_scrollbar_mode(g_contacts_state.sub_container, LV_SCROLLBAR_MODE_OFF); } @@ -1864,21 +2091,25 @@ void refresh_ui() void cleanup_modals() { - if (g_contacts_state.add_edit_modal != nullptr) { + if (g_contacts_state.add_edit_modal != nullptr) + { lv_obj_del(g_contacts_state.add_edit_modal); g_contacts_state.add_edit_modal = nullptr; } g_contacts_state.add_edit_textarea = nullptr; g_contacts_state.add_edit_error_label = nullptr; - if (g_contacts_state.del_confirm_modal != nullptr) { + if (g_contacts_state.del_confirm_modal != nullptr) + { lv_obj_del(g_contacts_state.del_confirm_modal); g_contacts_state.del_confirm_modal = nullptr; } - if (g_contacts_state.info_modal != nullptr) { + if (g_contacts_state.info_modal != nullptr) + { lv_obj_del(g_contacts_state.info_modal); g_contacts_state.info_modal = nullptr; } - if (g_contacts_state.modal_group != nullptr) { + if (g_contacts_state.modal_group != nullptr) + { lv_group_del(g_contacts_state.modal_group); g_contacts_state.modal_group = nullptr; } diff --git a/src/ui/screens/contacts/contacts_page_input.cpp b/src/ui/screens/contacts/contacts_page_input.cpp index 96926894..d5881d50 100644 --- a/src/ui/screens/contacts/contacts_page_input.cpp +++ b/src/ui/screens/contacts/contacts_page_input.cpp @@ -3,10 +3,10 @@ * @brief Contacts page input handling implementation */ -#include // Must be first for library compilation -#include // Required for contacts_state.h -> contact_service.h dependency chain #include "contacts_page_input.h" #include "contacts_state.h" +#include // Must be first for library compilation +#include // Required for contacts_state.h -> contact_service.h dependency chain #define CONTACTS_DEBUG 1 #if CONTACTS_DEBUG @@ -17,11 +17,13 @@ using namespace contacts::ui; -namespace { +namespace +{ -enum class FocusColumn { +enum class FocusColumn +{ Filter = 0, - List = 1, + List = 1, Action = 2, }; @@ -32,8 +34,10 @@ static lv_indev_t* s_encoder = nullptr; static lv_indev_t* find_encoder_indev() { lv_indev_t* indev = nullptr; - while ((indev = lv_indev_get_next(indev)) != nullptr) { - if (lv_indev_get_type(indev) == LV_INDEV_TYPE_ENCODER) { + while ((indev = lv_indev_get_next(indev)) != nullptr) + { + if (lv_indev_get_type(indev) == LV_INDEV_TYPE_ENCODER) + { return indev; } } @@ -82,72 +86,109 @@ static void bind_filter_column(bool keep_mode_focus) clear_action_focus_states(); // ① TopBar Back —— 第一列“出口”,必须可达 - if (g_contacts_state.top_bar.back_btn) { + if (g_contacts_state.top_bar.back_btn) + { lv_group_add_obj(s_group, g_contacts_state.top_bar.back_btn); } // ② Filter buttons if (is_visible(g_contacts_state.contacts_btn)) lv_group_add_obj(s_group, g_contacts_state.contacts_btn); - if (is_visible(g_contacts_state.nearby_btn)) lv_group_add_obj(s_group, g_contacts_state.nearby_btn); + if (is_visible(g_contacts_state.nearby_btn)) lv_group_add_obj(s_group, g_contacts_state.nearby_btn); if (is_visible(g_contacts_state.broadcast_btn)) lv_group_add_obj(s_group, g_contacts_state.broadcast_btn); if (is_visible(g_contacts_state.team_btn)) lv_group_add_obj(s_group, g_contacts_state.team_btn); // Focus preference: // - keep_mode_focus: focus current mode button (better for rotate-to-switch-mode UX) // - else: focus current mode button; fallback to back - if (keep_mode_focus) { - if (g_contacts_state.current_mode == ContactsMode::Contacts && g_contacts_state.contacts_btn) { + if (keep_mode_focus) + { + if (g_contacts_state.current_mode == ContactsMode::Contacts && g_contacts_state.contacts_btn) + { focus_first_valid(g_contacts_state.contacts_btn); - } else if (g_contacts_state.current_mode == ContactsMode::Nearby && g_contacts_state.nearby_btn) { + } + else if (g_contacts_state.current_mode == ContactsMode::Nearby && g_contacts_state.nearby_btn) + { focus_first_valid(g_contacts_state.nearby_btn); - } else if (g_contacts_state.current_mode == ContactsMode::Broadcast && is_visible(g_contacts_state.broadcast_btn)) { + } + else if (g_contacts_state.current_mode == ContactsMode::Broadcast && is_visible(g_contacts_state.broadcast_btn)) + { focus_first_valid(g_contacts_state.broadcast_btn); - } else if (g_contacts_state.current_mode == ContactsMode::Team && is_visible(g_contacts_state.team_btn)) { - focus_first_valid(g_contacts_state.team_btn); - } else if (g_contacts_state.top_bar.back_btn) { - focus_first_valid(g_contacts_state.top_bar.back_btn); - } else if (is_visible(g_contacts_state.contacts_btn)) { - focus_first_valid(g_contacts_state.contacts_btn); - } else if (is_visible(g_contacts_state.nearby_btn)) { - focus_first_valid(g_contacts_state.nearby_btn); - } else if (is_visible(g_contacts_state.broadcast_btn)) { - focus_first_valid(g_contacts_state.broadcast_btn); - } else if (is_visible(g_contacts_state.team_btn)) { + } + else if (g_contacts_state.current_mode == ContactsMode::Team && is_visible(g_contacts_state.team_btn)) + { focus_first_valid(g_contacts_state.team_btn); } - } else { + else if (g_contacts_state.top_bar.back_btn) + { + focus_first_valid(g_contacts_state.top_bar.back_btn); + } + else if (is_visible(g_contacts_state.contacts_btn)) + { + focus_first_valid(g_contacts_state.contacts_btn); + } + else if (is_visible(g_contacts_state.nearby_btn)) + { + focus_first_valid(g_contacts_state.nearby_btn); + } + else if (is_visible(g_contacts_state.broadcast_btn)) + { + focus_first_valid(g_contacts_state.broadcast_btn); + } + else if (is_visible(g_contacts_state.team_btn)) + { + focus_first_valid(g_contacts_state.team_btn); + } + } + else + { // first entry: prefer current mode button - if (g_contacts_state.current_mode == ContactsMode::Contacts && is_visible(g_contacts_state.contacts_btn)) { + if (g_contacts_state.current_mode == ContactsMode::Contacts && is_visible(g_contacts_state.contacts_btn)) + { focus_first_valid(g_contacts_state.contacts_btn); - } else if (g_contacts_state.current_mode == ContactsMode::Nearby && is_visible(g_contacts_state.nearby_btn)) { + } + else if (g_contacts_state.current_mode == ContactsMode::Nearby && is_visible(g_contacts_state.nearby_btn)) + { focus_first_valid(g_contacts_state.nearby_btn); - } else if (g_contacts_state.current_mode == ContactsMode::Broadcast && is_visible(g_contacts_state.broadcast_btn)) { + } + else if (g_contacts_state.current_mode == ContactsMode::Broadcast && is_visible(g_contacts_state.broadcast_btn)) + { focus_first_valid(g_contacts_state.broadcast_btn); - } else if (g_contacts_state.current_mode == ContactsMode::Team && is_visible(g_contacts_state.team_btn)) { + } + else if (g_contacts_state.current_mode == ContactsMode::Team && is_visible(g_contacts_state.team_btn)) + { focus_first_valid(g_contacts_state.team_btn); - } else if (is_visible(g_contacts_state.contacts_btn)) { + } + else if (is_visible(g_contacts_state.contacts_btn)) + { focus_first_valid(g_contacts_state.contacts_btn); - } else if (is_visible(g_contacts_state.nearby_btn)) { + } + else if (is_visible(g_contacts_state.nearby_btn)) + { focus_first_valid(g_contacts_state.nearby_btn); - } else if (is_visible(g_contacts_state.broadcast_btn)) { + } + else if (is_visible(g_contacts_state.broadcast_btn)) + { focus_first_valid(g_contacts_state.broadcast_btn); - } else if (is_visible(g_contacts_state.team_btn)) { + } + else if (is_visible(g_contacts_state.team_btn)) + { focus_first_valid(g_contacts_state.team_btn); - } else if (g_contacts_state.top_bar.back_btn) { + } + else if (g_contacts_state.top_bar.back_btn) + { focus_first_valid(g_contacts_state.top_bar.back_btn); } } - } - static void bind_list_column() { if (!s_group) return; group_clear_all(s_group); clear_action_focus_states(); - for (auto* item : g_contacts_state.list_items) { + for (auto* item : g_contacts_state.list_items) + { if (item) lv_group_add_obj(s_group, item); } @@ -155,13 +196,20 @@ static void bind_list_column() if (g_contacts_state.next_btn) lv_group_add_obj(s_group, g_contacts_state.next_btn); if (g_contacts_state.back_btn) lv_group_add_obj(s_group, g_contacts_state.back_btn); - if (!g_contacts_state.list_items.empty() && g_contacts_state.list_items[0]) { + if (!g_contacts_state.list_items.empty() && g_contacts_state.list_items[0]) + { focus_first_valid(g_contacts_state.list_items[0]); - } else if (g_contacts_state.back_btn) { + } + else if (g_contacts_state.back_btn) + { focus_first_valid(g_contacts_state.back_btn); - } else if (g_contacts_state.prev_btn) { + } + else if (g_contacts_state.prev_btn) + { focus_first_valid(g_contacts_state.prev_btn); - } else if (g_contacts_state.next_btn) { + } + else if (g_contacts_state.next_btn) + { focus_first_valid(g_contacts_state.next_btn); } @@ -177,36 +225,69 @@ static void bind_action_column() bool any = false; // ① Actions - if (g_contacts_state.chat_btn) { lv_group_add_obj(s_group, g_contacts_state.chat_btn); any = true; } + if (g_contacts_state.chat_btn) + { + lv_group_add_obj(s_group, g_contacts_state.chat_btn); + any = true; + } - if (g_contacts_state.current_mode == ContactsMode::Contacts) { - if (g_contacts_state.edit_btn) { lv_group_add_obj(s_group, g_contacts_state.edit_btn); any = true; } - if (g_contacts_state.del_btn) { lv_group_add_obj(s_group, g_contacts_state.del_btn); any = true; } - } else if (g_contacts_state.current_mode == ContactsMode::Nearby) { - if (g_contacts_state.add_btn) { lv_group_add_obj(s_group, g_contacts_state.add_btn); any = true; } - } else if (g_contacts_state.current_mode == ContactsMode::Team) { - if (g_contacts_state.position_btn) { lv_group_add_obj(s_group, g_contacts_state.position_btn); any = true; } + if (g_contacts_state.current_mode == ContactsMode::Contacts) + { + if (g_contacts_state.edit_btn) + { + lv_group_add_obj(s_group, g_contacts_state.edit_btn); + any = true; + } + if (g_contacts_state.del_btn) + { + lv_group_add_obj(s_group, g_contacts_state.del_btn); + any = true; + } + } + else if (g_contacts_state.current_mode == ContactsMode::Nearby) + { + if (g_contacts_state.add_btn) + { + lv_group_add_obj(s_group, g_contacts_state.add_btn); + any = true; + } + } + else if (g_contacts_state.current_mode == ContactsMode::Team) + { + if (g_contacts_state.position_btn) + { + lv_group_add_obj(s_group, g_contacts_state.position_btn); + any = true; + } } if (g_contacts_state.current_mode != ContactsMode::Broadcast && - g_contacts_state.current_mode != ContactsMode::Team) { - if (g_contacts_state.info_btn) { lv_group_add_obj(s_group, g_contacts_state.info_btn); any = true; } + g_contacts_state.current_mode != ContactsMode::Team) + { + if (g_contacts_state.info_btn) + { + lv_group_add_obj(s_group, g_contacts_state.info_btn); + any = true; + } } // ② Back (added last, not the default focus) - if (g_contacts_state.action_back_btn) { + if (g_contacts_state.action_back_btn) + { lv_group_add_obj(s_group, g_contacts_state.action_back_btn); any = true; } - if (!any) { + if (!any) + { s_col = FocusColumn::List; bind_list_column(); return; } // Only allow action focus when a list item is selected - if (g_contacts_state.selected_index < 0) { + if (g_contacts_state.selected_index < 0) + { clear_action_focus_states(); s_col = FocusColumn::List; bind_list_column(); @@ -214,13 +295,20 @@ static void bind_action_column() } // Default focus to the first action button (Chat) instead of Back - if (g_contacts_state.chat_btn) { + if (g_contacts_state.chat_btn) + { focus_first_valid(g_contacts_state.chat_btn); - } else if (g_contacts_state.position_btn) { + } + else if (g_contacts_state.position_btn) + { focus_first_valid(g_contacts_state.position_btn); - } else if (g_contacts_state.info_btn) { + } + else if (g_contacts_state.info_btn) + { focus_first_valid(g_contacts_state.info_btn); - } else if (g_contacts_state.action_back_btn) { + } + else if (g_contacts_state.action_back_btn) + { focus_first_valid(g_contacts_state.action_back_btn); } @@ -229,10 +317,17 @@ static void bind_action_column() static void rebind_by_column() { - switch (s_col) { - case FocusColumn::Filter: bind_filter_column(true); break; - case FocusColumn::List: bind_list_column(); break; - case FocusColumn::Action: bind_action_column(); break; + switch (s_col) + { + case FocusColumn::Filter: + bind_filter_column(true); + break; + case FocusColumn::List: + bind_list_column(); + break; + case FocusColumn::Action: + bind_action_column(); + break; } } @@ -252,7 +347,8 @@ static void root_key_event_cb(lv_event_t* e) uint32_t key = lv_event_get_key(e); // Back one column - if (key == LV_KEY_ESC || key == LV_KEY_BACKSPACE) { + if (key == LV_KEY_ESC || key == LV_KEY_BACKSPACE) + { if (s_col == FocusColumn::Action) s_col = FocusColumn::List; else if (s_col == FocusColumn::List) s_col = FocusColumn::Filter; else s_col = FocusColumn::Filter; @@ -264,32 +360,39 @@ static void root_key_event_cb(lv_event_t* e) lv_obj_t* focused = s_group ? lv_group_get_focused(s_group) : nullptr; - if (s_col == FocusColumn::Filter) { + if (s_col == FocusColumn::Filter) + { s_col = FocusColumn::List; rebind_by_column(); return; } - if (s_col == FocusColumn::List) { - if (focused == g_contacts_state.back_btn) { + if (s_col == FocusColumn::List) + { + if (focused == g_contacts_state.back_btn) + { s_col = FocusColumn::Filter; rebind_by_column(); return; } - if (focused == g_contacts_state.prev_btn) { + if (focused == g_contacts_state.prev_btn) + { if (g_contacts_state.prev_btn) lv_obj_send_event(g_contacts_state.prev_btn, LV_EVENT_CLICKED, nullptr); if (g_contacts_state.prev_btn) focus_first_valid(g_contacts_state.prev_btn); return; } - if (focused == g_contacts_state.next_btn) { + if (focused == g_contacts_state.next_btn) + { if (g_contacts_state.next_btn) lv_obj_send_event(g_contacts_state.next_btn, LV_EVENT_CLICKED, nullptr); if (g_contacts_state.next_btn) focus_first_valid(g_contacts_state.next_btn); return; } - for (size_t i = 0; i < g_contacts_state.list_items.size(); ++i) { - if (focused == g_contacts_state.list_items[i]) { + for (size_t i = 0; i < g_contacts_state.list_items.size(); ++i) + { + if (focused == g_contacts_state.list_items[i]) + { // selected_index stored in user_data by refresh_ui() g_contacts_state.selected_index = (int)(intptr_t)lv_obj_get_user_data(focused); s_col = FocusColumn::Action; @@ -300,8 +403,10 @@ static void root_key_event_cb(lv_event_t* e) return; } - if (s_col == FocusColumn::Action) { - if (focused) { + if (s_col == FocusColumn::Action) + { + if (focused) + { lv_obj_send_event(focused, LV_EVENT_CLICKED, nullptr); } return; @@ -312,26 +417,31 @@ static void root_key_event_cb(lv_event_t* e) void init_contacts_input() { - if (s_group) { + if (s_group) + { cleanup_contacts_input(); } s_group = lv_group_create(); s_encoder = find_encoder_indev(); - if (s_encoder) { + if (s_encoder) + { lv_indev_set_group(s_encoder, s_group); - } else { + } + else + { CONTACTS_LOG("[Contacts][Input] WARNING: no encoder indev found\n"); } s_col = FocusColumn::Filter; rebind_by_column(); lv_obj_t* key_target = g_contacts_state.root - ? g_contacts_state.root - : (g_contacts_state.list_panel ? g_contacts_state.list_panel - : g_contacts_state.filter_panel); + ? g_contacts_state.root + : (g_contacts_state.list_panel ? g_contacts_state.list_panel + : g_contacts_state.filter_panel); - if (key_target) { + if (key_target) + { lv_obj_add_event_cb(key_target, root_key_event_cb, LV_EVENT_KEY, nullptr); } @@ -340,10 +450,12 @@ void init_contacts_input() void cleanup_contacts_input() { - if (s_group) { + if (s_group) + { // 只解绑我们自己绑定过的 encoder - if (s_encoder && lv_indev_get_group(s_encoder) == s_group) { + if (s_encoder && lv_indev_get_group(s_encoder) == s_group) + { lv_indev_set_group(s_encoder, nullptr); } @@ -356,7 +468,6 @@ void cleanup_contacts_input() CONTACTS_LOG("[Contacts][Input] cleaned up\n"); } - void contacts_input_on_ui_refreshed() { if (!s_group) return; diff --git a/src/ui/screens/contacts/contacts_page_layout.h b/src/ui/screens/contacts/contacts_page_layout.h index 90dc679a..e73e1a49 100644 --- a/src/ui/screens/contacts/contacts_page_layout.h +++ b/src/ui/screens/contacts/contacts_page_layout.h @@ -1,12 +1,15 @@ #pragma once +#include "contacts_page_styles.h" // style::apply_* +#include "contacts_state.h" // g_contacts_state, ContactsMode #include "lvgl.h" -#include "contacts_state.h" // g_contacts_state, ContactsMode -#include "contacts_page_styles.h" // style::apply_* -namespace contacts { -namespace ui { -namespace layout { +namespace contacts +{ +namespace ui +{ +namespace layout +{ /** * @brief Create root container for contacts page diff --git a/src/ui/screens/contacts/contacts_page_styles.cpp b/src/ui/screens/contacts/contacts_page_styles.cpp index d39d62d2..7649a140 100644 --- a/src/ui/screens/contacts/contacts_page_styles.cpp +++ b/src/ui/screens/contacts/contacts_page_styles.cpp @@ -1,20 +1,21 @@ #include "contacts_page_styles.h" -namespace contacts::ui::style { +namespace contacts::ui::style +{ // ---------- Colors (keep all visual tokens here) ---------- static constexpr uint32_t kGrayPanel = 0xF5F5F5; -static constexpr uint32_t kWhite = 0xFFFFFF; +static constexpr uint32_t kWhite = 0xFFFFFF; -static constexpr uint32_t kBtnBg = 0xF4C77A; -static constexpr uint32_t kBtnBgSel = 0xEBA341; +static constexpr uint32_t kBtnBg = 0xF4C77A; +static constexpr uint32_t kBtnBgSel = 0xEBA341; static constexpr uint32_t kBtnBorder = 0xEBA341; -static constexpr uint32_t kItemBg = 0xF7DCA8; +static constexpr uint32_t kItemBg = 0xF7DCA8; static constexpr uint32_t kItemBgFoc = 0xF1B65A; -static constexpr uint32_t kItemBorder= 0xEBA341; +static constexpr uint32_t kItemBorder = 0xEBA341; -static constexpr uint32_t kTextMain = 0x202020; +static constexpr uint32_t kTextMain = 0x202020; static constexpr uint32_t kTextMuted = 0x606060; // ---------- Styles ---------- @@ -25,10 +26,10 @@ static lv_style_t s_panel_main; static lv_style_t s_container_white; static lv_style_t s_btn_basic; -static lv_style_t s_btn_filter_checked; // applied via LV_STATE_CHECKED +static lv_style_t s_btn_filter_checked; // applied via LV_STATE_CHECKED static lv_style_t s_item_base; -static lv_style_t s_item_focused; // applied via LV_STATE_FOCUSED +static lv_style_t s_item_focused; // applied via LV_STATE_FOCUSED static lv_style_t s_label_primary; static lv_style_t s_label_muted; diff --git a/src/ui/screens/contacts/contacts_page_styles.h b/src/ui/screens/contacts/contacts_page_styles.h index 0611403b..b516ecad 100644 --- a/src/ui/screens/contacts/contacts_page_styles.h +++ b/src/ui/screens/contacts/contacts_page_styles.h @@ -1,25 +1,26 @@ #pragma once #include "lvgl.h" -namespace contacts::ui::style { +namespace contacts::ui::style +{ // Must be called before applying any styles (safe to call repeatedly) void init_once(); /* Panels */ -void apply_panel_side(lv_obj_t* obj); // filter_panel / action_panel (gray) -void apply_panel_main(lv_obj_t* obj); // list_panel (white) -void apply_container_white(lv_obj_t* obj); // sub_container / bottom_container (white) +void apply_panel_side(lv_obj_t* obj); // filter_panel / action_panel (gray) +void apply_panel_main(lv_obj_t* obj); // list_panel (white) +void apply_container_white(lv_obj_t* obj); // sub_container / bottom_container (white) /* Buttons */ -void apply_btn_basic(lv_obj_t* btn); // common button style -void apply_btn_filter(lv_obj_t* btn); // filter buttons (same as basic, but supports CHECKED state highlight) +void apply_btn_basic(lv_obj_t* btn); // common button style +void apply_btn_filter(lv_obj_t* btn); // filter buttons (same as basic, but supports CHECKED state highlight) /* List item */ -void apply_list_item(lv_obj_t* item); // item base + focused behavior +void apply_list_item(lv_obj_t* item); // item base + focused behavior /* Labels */ -void apply_label_primary(lv_obj_t* label); // name -void apply_label_muted(lv_obj_t* label); // status/snr +void apply_label_primary(lv_obj_t* label); // name +void apply_label_muted(lv_obj_t* label); // status/snr } // namespace contacts::ui::style diff --git a/src/ui/screens/contacts/contacts_state.cpp b/src/ui/screens/contacts/contacts_state.cpp index 30a946b9..e2ed3cee 100644 --- a/src/ui/screens/contacts/contacts_state.cpp +++ b/src/ui/screens/contacts/contacts_state.cpp @@ -5,10 +5,12 @@ #include "contacts_state.h" -namespace contacts { -namespace ui { +namespace contacts +{ +namespace ui +{ -ContactsPageState g_contacts_state; // 这里是“唯一的定义” +ContactsPageState g_contacts_state; // 这里是“唯一的定义” } // namespace ui } // namespace contacts diff --git a/src/ui/screens/contacts/contacts_state.h b/src/ui/screens/contacts/contacts_state.h index e9f5c2b0..d6a48748 100644 --- a/src/ui/screens/contacts/contacts_state.h +++ b/src/ui/screens/contacts/contacts_state.h @@ -5,61 +5,70 @@ #pragma once -#include "lvgl.h" -#include "../../widgets/top_bar.h" #include "../../../chat/domain/contact_types.h" +#include "../../widgets/top_bar.h" +#include "lvgl.h" #include // Forward declaration -namespace chat { -namespace contacts { - class ContactService; +namespace chat +{ +namespace contacts +{ +class ContactService; } // namespace contacts -namespace ui { - class ChatComposeScreen; - class ChatConversationScreen; +namespace ui +{ +class ChatComposeScreen; +class ChatConversationScreen; } // namespace ui class ChatService; } // namespace chat -namespace ui { -namespace widgets { - class ImeWidget; +namespace ui +{ +namespace widgets +{ +class ImeWidget; } // namespace widgets } // namespace ui -namespace contacts { -namespace ui { +namespace contacts +{ +namespace ui +{ -enum class ContactsMode { +enum class ContactsMode +{ Contacts, // Show contacts (nodes with nicknames) Nearby, // Show nearby nodes (nodes without nicknames) Broadcast, // Show broadcast channels Team // Show team (if joined) }; -struct ContactsPageState { +struct ContactsPageState +{ lv_obj_t* root = nullptr; - lv_obj_t* page = nullptr; // Content container (second column) - + lv_obj_t* page = nullptr; // Content container (second column) + ::ui::widgets::TopBar top_bar; - + // First column: Filter buttons lv_obj_t* filter_panel = nullptr; lv_obj_t* contacts_btn = nullptr; lv_obj_t* nearby_btn = nullptr; lv_obj_t* broadcast_btn = nullptr; lv_obj_t* team_btn = nullptr; - + // Second column: Node list lv_obj_t* list_panel = nullptr; - lv_obj_t* sub_container = nullptr; // Container for list items and pagination - lv_obj_t* bottom_container = nullptr; // Container for bottom buttons (Prev/Next/Back) - std::vector list_items; // Contact/Node rows + lv_obj_t* sub_container = nullptr; // Container for list items and pagination + lv_obj_t* bottom_container = nullptr; // Container for bottom buttons (Prev/Next/Back) + std::vector list_items; // Contact/Node rows lv_obj_t* prev_btn = nullptr; lv_obj_t* next_btn = nullptr; - lv_obj_t* back_btn = nullptr; // Return to first column - + lv_obj_t* back_btn = nullptr; // Return to first column + // Third column: Action buttons lv_obj_t* action_panel = nullptr; lv_obj_t* chat_btn = nullptr; @@ -68,22 +77,22 @@ struct ContactsPageState { lv_obj_t* del_btn = nullptr; lv_obj_t* add_btn = nullptr; lv_obj_t* info_btn = nullptr; - lv_obj_t* action_back_btn = nullptr; // third column back (to list) - + lv_obj_t* action_back_btn = nullptr; // third column back (to list) + // Current state ContactsMode current_mode = ContactsMode::Contacts; ContactsMode last_action_mode = ContactsMode::Contacts; - int selected_index = -1; // Selected item in list - int current_page = 0; // Current page (0-based) - size_t total_items = 0; // Total items in current mode - + int selected_index = -1; // Selected item in list + int current_page = 0; // Current page (0-based) + size_t total_items = 0; // Total items in current mode + // Data (using forward declaration, full type in .cpp) std::vector contacts_list; std::vector nearby_list; - + // Timers lv_timer_t* refresh_timer = nullptr; - + // Modal windows lv_obj_t* add_edit_modal = nullptr; lv_obj_t* add_edit_textarea = nullptr; @@ -94,7 +103,7 @@ struct ContactsPageState { lv_group_t* prev_group = nullptr; uint32_t modal_node_id = 0; bool modal_is_edit = false; - + // Compose screen (Chat button) chat::ui::ChatComposeScreen* compose_screen = nullptr; ::ui::widgets::ImeWidget* compose_ime = nullptr; @@ -104,7 +113,7 @@ struct ContactsPageState { // Services (owned by AppContext) chat::contacts::ContactService* contact_service = nullptr; chat::ChatService* chat_service = nullptr; - + bool initialized = false; bool exiting = false; }; diff --git a/src/ui/screens/gps/gps_constants.h b/src/ui/screens/gps/gps_constants.h index 58fcf6b7..0450400b 100644 --- a/src/ui/screens/gps/gps_constants.h +++ b/src/ui/screens/gps/gps_constants.h @@ -1,6 +1,7 @@ #pragma once -namespace gps_ui { +namespace gps_ui +{ constexpr int kMapPanStep = 32; constexpr int kDefaultZoom = 12; @@ -13,4 +14,4 @@ constexpr double kDefaultLng = -0.1278; // UI policy: do not show a blocking loading overlay on the GPS map. constexpr bool kShowLoadingOverlay = false; -} // namespace gps_ui +} // namespace gps_ui diff --git a/src/ui/screens/gps/gps_modal.cpp b/src/ui/screens/gps/gps_modal.cpp index 2edc490c..08d7399b 100644 --- a/src/ui/screens/gps/gps_modal.cpp +++ b/src/ui/screens/gps/gps_modal.cpp @@ -4,10 +4,10 @@ */ #include "gps_modal.h" +#include "../../LV_Helper.h" +#include "../../ui_common.h" #include "gps_page_lifetime.h" #include "gps_page_styles.h" -#include "../../ui_common.h" -#include "../../LV_Helper.h" #include // Configuration @@ -31,13 +31,15 @@ using gps::ui::lifetime::is_alive; */ lv_indev_t* get_encoder_indev() { - if (g_encoder_indev != NULL) { + if (g_encoder_indev != NULL) + { return g_encoder_indev; } - + // Use helper function from LV_Helper.h g_encoder_indev = lv_get_encoder_indev(); - if (g_encoder_indev == NULL) { + if (g_encoder_indev == NULL) + { GPS_LOG("[GPS] WARNING: encoder indev is NULL - popup may not receive input\n"); } return g_encoder_indev; @@ -46,10 +48,11 @@ lv_indev_t* get_encoder_indev() /** * Bind encoder input device to a group */ -void bind_encoder_to_group(lv_group_t *g) +void bind_encoder_to_group(lv_group_t* g) { - lv_indev_t *encoder = get_encoder_indev(); - if (encoder) { + lv_indev_t* encoder = get_encoder_indev(); + if (encoder) + { lv_indev_set_group(encoder, g); } } @@ -59,59 +62,67 @@ void bind_encoder_to_group(lv_group_t *g) */ bool modal_open(Modal& m, lv_obj_t* content_root, lv_group_t* focus_group) { - if (!is_alive()) { + if (!is_alive()) + { return false; } - if (m.is_open()) { + if (m.is_open()) + { GPS_LOG("[GPS] Modal already open\n"); return false; } - + // Debounce check uint32_t now = millis(); - if (m.close_ms > 0 && (now - m.close_ms) < POPUP_DEBOUNCE_MS) { + if (m.close_ms > 0 && (now - m.close_ms) < POPUP_DEBOUNCE_MS) + { GPS_LOG("[GPS] Ignoring modal open request (debounce: %dms since close)\n", now - m.close_ms); return false; } - + (void)focus_group; lv_obj_t* screen = content_root ? content_root : lv_screen_active(); - if (screen == NULL) { + if (screen == NULL) + { GPS_LOG("[GPS] ERROR: screen is NULL, cannot create modal\n"); return false; } - + // Create modal background m.bg = lv_obj_create(screen); - if (m.bg == NULL) { + if (m.bg == NULL) + { GPS_LOG("[GPS] ERROR: Failed to create modal background\n"); return false; } - + lv_coord_t screen_w = lv_obj_get_width(screen); lv_coord_t screen_h = lv_obj_get_height(screen); lv_obj_set_size(m.bg, screen_w, screen_h); lv_obj_set_pos(m.bg, 0, 0); gps::ui::styles::apply_modal_bg(m.bg); lv_obj_move_to_index(m.bg, -1); - + // Modal bg only swallows pointer events, not KEY/ROTARY - lv_obj_add_event_cb(m.bg, [](lv_event_t *e) { + lv_obj_add_event_cb( + m.bg, [](lv_event_t* e) + { lv_event_code_t code = lv_event_get_code(e); if (code == LV_EVENT_CLICKED || code == LV_EVENT_PRESSED || code == LV_EVENT_RELEASED) { lv_event_stop_bubbling(e); - } - }, LV_EVENT_ALL, NULL); - + } }, + LV_EVENT_ALL, NULL); + // Create modal window m.win = lv_obj_create(m.bg); - if (m.win == NULL) { + if (m.win == NULL) + { GPS_LOG("[GPS] ERROR: Failed to create modal window\n"); lv_obj_del(m.bg); m.bg = nullptr; return false; } - + // Center modal window lv_coord_t win_w = 250; lv_coord_t win_h = 150; @@ -119,27 +130,28 @@ bool modal_open(Modal& m, lv_obj_t* content_root, lv_group_t* focus_group) lv_coord_t win_y = (screen_h - win_h) / 2; lv_obj_set_size(m.win, win_w, win_h); lv_obj_set_pos(m.win, win_x, win_y); - + gps::ui::styles::apply_modal_win(m.win); - + lv_obj_move_to_index(m.win, -1); - + // Setup group management - extern lv_group_t *app_g; + extern lv_group_t* app_g; // Get current default group (via lv_group_get_default) instead of assuming app_g m.prev_default = lv_group_get_default() ? lv_group_get_default() : app_g; - - if (m.group == NULL) { + + if (m.group == NULL) + { m.group = lv_group_create(); } // Clear group - caller (show_zoom_popup) will add popup_label and configure everything lv_group_remove_all_objs(m.group); // Don't bind encoder here - let show_zoom_popup do it after popup_label is added and focused GPS_LOG("[GPS] Modal group created (empty), group=%p\n", m.group); - - m.close_ms = 0; // Reset close timestamp + + m.close_ms = 0; // Reset close timestamp m.open = true; - + GPS_LOG("[GPS] Modal opened successfully\n"); return true; } @@ -149,31 +161,34 @@ bool modal_open(Modal& m, lv_obj_t* content_root, lv_group_t* focus_group) */ void modal_close(Modal& m) { - if (!m.is_open()) { + if (!m.is_open()) + { return; } - - if (is_alive()) { + + if (is_alive()) + { // Restore default group and encoder binding BEFORE deleting objects - extern lv_group_t *app_g; + extern lv_group_t* app_g; lv_group_t* restore = m.prev_default ? m.prev_default : app_g; set_default_group(restore); bind_encoder_to_group(restore); } - + // Only delete bg (win is child of bg, will be deleted automatically) - if (m.bg != NULL) { + if (m.bg != NULL) + { lv_obj_del(m.bg); m.bg = nullptr; - m.win = nullptr; // Clear pointer (object already deleted) + m.win = nullptr; // Clear pointer (object already deleted) } - + m.close_ms = millis(); m.open = false; GPS_LOG("[GPS] Modal closed\n"); } -bool modal_is_open(const Modal &m) +bool modal_is_open(const Modal& m) { return m.open; } diff --git a/src/ui/screens/gps/gps_modal.h b/src/ui/screens/gps/gps_modal.h index 7198132e..29a0260b 100644 --- a/src/ui/screens/gps/gps_modal.h +++ b/src/ui/screens/gps/gps_modal.h @@ -3,23 +3,24 @@ #include "lvgl.h" -typedef struct { - lv_obj_t *bg; - lv_obj_t *win; - lv_group_t *group; - lv_indev_t *indev; - lv_group_t *prev_default; +typedef struct +{ + lv_obj_t* bg; + lv_obj_t* win; + lv_group_t* group; + lv_indev_t* indev; + lv_group_t* prev_default; uint32_t close_ms; bool open; bool is_open() const { return open; } } Modal; -lv_indev_t *get_encoder_indev(); -void bind_encoder_to_group(lv_group_t *g); +lv_indev_t* get_encoder_indev(); +void bind_encoder_to_group(lv_group_t* g); -bool modal_open(Modal &m, lv_obj_t *content_root, lv_group_t *focus_group); -void modal_close(Modal &m); -bool modal_is_open(const Modal &m); +bool modal_open(Modal& m, lv_obj_t* content_root, lv_group_t* focus_group); +void modal_close(Modal& m); +bool modal_is_open(const Modal& m); #endif // GPS_MODAL_H diff --git a/src/ui/screens/gps/gps_page_components.cpp b/src/ui/screens/gps/gps_page_components.cpp index a499c25f..6623e248 100644 --- a/src/ui/screens/gps/gps_page_components.cpp +++ b/src/ui/screens/gps/gps_page_components.cpp @@ -1,11 +1,11 @@ #include "gps_page_components.h" +#include "../../ui_common.h" +#include "gps_modal.h" #include "gps_page_input.h" #include "gps_page_lifetime.h" #include "gps_page_styles.h" -#include "gps_modal.h" #include "gps_state.h" -#include "../../ui_common.h" #include "lvgl.h" #include @@ -28,10 +28,12 @@ using gps::ui::lifetime::is_alive; void show_loading() { - if (!gps_ui::kShowLoadingOverlay) { + if (!gps_ui::kShowLoadingOverlay) + { return; } - if (!is_alive() || g_gps_state.loading_msgbox != NULL || g_gps_state.page == NULL) { + if (!is_alive() || g_gps_state.loading_msgbox != NULL || g_gps_state.page == NULL) + { return; } @@ -48,11 +50,13 @@ void show_loading() void hide_loading() { - if (!gps_ui::kShowLoadingOverlay) { + if (!gps_ui::kShowLoadingOverlay) + { g_gps_state.loading_msgbox = NULL; return; } - if (g_gps_state.loading_msgbox != NULL) { + if (g_gps_state.loading_msgbox != NULL) + { lv_obj_del(g_gps_state.loading_msgbox); g_gps_state.loading_msgbox = NULL; } @@ -65,7 +69,8 @@ void hide_loading() static void toast_timer_cb(lv_timer_t* timer) { (void)timer; - if (!is_alive()) { + if (!is_alive()) + { return; } hide_toast(); @@ -73,13 +78,15 @@ static void toast_timer_cb(lv_timer_t* timer) void show_toast(const char* message, uint32_t duration_ms) { - if (!is_alive()) { + if (!is_alive()) + { return; } hide_toast(); - if (g_gps_state.page == NULL) { + if (g_gps_state.page == NULL) + { return; } @@ -93,25 +100,29 @@ void show_toast(const char* message, uint32_t duration_ms) gps::ui::styles::apply_toast_label(toast_label); lv_obj_center(toast_label); - if (g_gps_state.toast_timer != NULL) { + if (g_gps_state.toast_timer != NULL) + { gps::ui::lifetime::remove_timer(g_gps_state.toast_timer); g_gps_state.toast_timer = nullptr; } g_gps_state.toast_timer = gps::ui::lifetime::add_timer(toast_timer_cb, duration_ms, NULL); - if (g_gps_state.toast_timer) { + if (g_gps_state.toast_timer) + { lv_timer_set_repeat_count(g_gps_state.toast_timer, 1); } } void hide_toast() { - if (g_gps_state.toast_timer != NULL) { + if (g_gps_state.toast_timer != NULL) + { gps::ui::lifetime::remove_timer(g_gps_state.toast_timer); g_gps_state.toast_timer = nullptr; } - if (g_gps_state.toast_msgbox != NULL) { + if (g_gps_state.toast_msgbox != NULL) + { lv_obj_del(g_gps_state.toast_msgbox); g_gps_state.toast_msgbox = NULL; } @@ -123,13 +134,15 @@ void hide_toast() void show_pan_h_indicator() { - if (!is_alive()) { + if (!is_alive()) + { return; } GPS_LOG("[GPS] show_pan_h_indicator: called, pan_h_indicator=%p, map=%p\n", g_gps_state.pan_h_indicator, g_gps_state.map); - if (g_gps_state.pan_h_indicator != NULL || g_gps_state.map == NULL) { + if (g_gps_state.pan_h_indicator != NULL || g_gps_state.map == NULL) + { GPS_LOG("[GPS] show_pan_h_indicator: early return (already shown or map not ready)\n"); return; } @@ -151,12 +164,13 @@ void show_pan_h_indicator() set_control_id(g_gps_state.pan_h_indicator, ControlId::PanHIndicator); extern lv_group_t* app_g; - if (app_g != NULL) { + if (app_g != NULL) + { lv_group_add_obj(app_g, g_gps_state.pan_h_indicator); } - extern void pan_indicator_event_cb(lv_event_t* e); - extern void on_ui_event(lv_event_t* e); + extern void pan_indicator_event_cb(lv_event_t * e); + extern void on_ui_event(lv_event_t * e); lv_obj_add_event_cb(g_gps_state.pan_h_indicator, pan_indicator_event_cb, LV_EVENT_CLICKED, NULL); lv_obj_add_event_cb(g_gps_state.pan_h_indicator, on_ui_event, LV_EVENT_KEY, NULL); lv_obj_add_event_cb(g_gps_state.pan_h_indicator, on_ui_event, LV_EVENT_PRESSED, NULL); @@ -171,12 +185,14 @@ void show_pan_h_indicator() void hide_pan_h_indicator() { - if (g_gps_state.pan_h_indicator == NULL) { + if (g_gps_state.pan_h_indicator == NULL) + { return; } extern lv_group_t* app_g; - if (app_g != NULL) { + if (app_g != NULL) + { lv_group_remove_obj(g_gps_state.pan_h_indicator); } @@ -186,13 +202,15 @@ void hide_pan_h_indicator() void show_pan_v_indicator() { - if (!is_alive()) { + if (!is_alive()) + { return; } GPS_LOG("[GPS] show_pan_v_indicator: called, pan_v_indicator=%p, map=%p\n", g_gps_state.pan_v_indicator, g_gps_state.map); - if (g_gps_state.pan_v_indicator != NULL || g_gps_state.map == NULL) { + if (g_gps_state.pan_v_indicator != NULL || g_gps_state.map == NULL) + { GPS_LOG("[GPS] show_pan_v_indicator: early return (already shown or map not ready)\n"); return; } @@ -214,12 +232,13 @@ void show_pan_v_indicator() set_control_id(g_gps_state.pan_v_indicator, ControlId::PanVIndicator); extern lv_group_t* app_g; - if (app_g != NULL) { + if (app_g != NULL) + { lv_group_add_obj(app_g, g_gps_state.pan_v_indicator); } - extern void pan_indicator_event_cb(lv_event_t* e); - extern void on_ui_event(lv_event_t* e); + extern void pan_indicator_event_cb(lv_event_t * e); + extern void on_ui_event(lv_event_t * e); lv_obj_add_event_cb(g_gps_state.pan_v_indicator, pan_indicator_event_cb, LV_EVENT_CLICKED, NULL); lv_obj_add_event_cb(g_gps_state.pan_v_indicator, on_ui_event, LV_EVENT_KEY, NULL); lv_obj_add_event_cb(g_gps_state.pan_v_indicator, on_ui_event, LV_EVENT_PRESSED, NULL); @@ -234,12 +253,14 @@ void show_pan_v_indicator() void hide_pan_v_indicator() { - if (g_gps_state.pan_v_indicator == NULL) { + if (g_gps_state.pan_v_indicator == NULL) + { return; } extern lv_group_t* app_g; - if (app_g != NULL) { + if (app_g != NULL) + { lv_group_remove_obj(g_gps_state.pan_v_indicator); } @@ -253,7 +274,8 @@ void hide_pan_v_indicator() static void build_zoom_popup_ui(lv_obj_t* win) { - if (!is_alive() || !win) { + if (!is_alive() || !win) + { return; } @@ -287,12 +309,14 @@ static void build_zoom_popup_ui(lv_obj_t* win) void show_zoom_popup() { - if (!is_alive()) { + if (!is_alive()) + { return; } extern lv_group_t* app_g; - if (!modal_open(g_gps_state.zoom_modal, lv_screen_active(), app_g)) { + if (!modal_open(g_gps_state.zoom_modal, lv_screen_active(), app_g)) + { return; } @@ -300,7 +324,8 @@ void show_zoom_popup() build_zoom_popup_ui(g_gps_state.zoom_modal.win); - if (g_gps_state.popup_label != NULL && g_gps_state.zoom_modal.group != NULL) { + if (g_gps_state.popup_label != NULL && g_gps_state.zoom_modal.group != NULL) + { lv_group_remove_all_objs(g_gps_state.zoom_modal.group); lv_group_add_obj(g_gps_state.zoom_modal.group, g_gps_state.popup_label); set_default_group(g_gps_state.zoom_modal.group); @@ -310,13 +335,15 @@ void show_zoom_popup() lv_obj_invalidate(g_gps_state.popup_label); } - if (g_gps_state.popup_label != NULL) { + if (g_gps_state.popup_label != NULL) + { set_control_id(g_gps_state.popup_label, ControlId::ZoomValueLabel); lv_obj_add_event_cb(g_gps_state.popup_label, on_ui_event, LV_EVENT_ROTARY, NULL); lv_obj_add_event_cb(g_gps_state.popup_label, on_ui_event, LV_EVENT_KEY, NULL); } - if (!g_gps_state.zoom_win_cb_bound) { + if (!g_gps_state.zoom_win_cb_bound) + { set_control_id(g_gps_state.zoom_modal.win, ControlId::ZoomWin); lv_obj_add_event_cb(g_gps_state.zoom_modal.win, on_ui_event, LV_EVENT_ROTARY, NULL); lv_obj_add_event_cb(g_gps_state.zoom_modal.win, on_ui_event, LV_EVENT_KEY, NULL); @@ -327,7 +354,8 @@ void show_zoom_popup() void hide_zoom_popup() { - if (!g_gps_state.zoom_modal.is_open()) { + if (!g_gps_state.zoom_modal.is_open()) + { return; } @@ -335,12 +363,14 @@ void hide_zoom_popup() g_gps_state.popup_label = nullptr; extern lv_group_t* app_g; - if (app_g != NULL) { + if (app_g != NULL) + { lv_group_set_editing(app_g, false); set_default_group(app_g); bind_encoder_to_group(app_g); - if (g_gps_state.zoom != NULL) { + if (g_gps_state.zoom != NULL) + { lv_group_focus_obj(g_gps_state.zoom); } } @@ -352,31 +382,37 @@ void hide_zoom_popup() void fix_ui_elements_position() { - if (!is_alive() || g_gps_state.map == NULL) { + if (!is_alive() || g_gps_state.map == NULL) + { return; } - if (g_gps_state.panel != NULL) { + if (g_gps_state.panel != NULL) + { lv_obj_align(g_gps_state.panel, LV_ALIGN_TOP_RIGHT, 0, 3); lv_obj_move_foreground(g_gps_state.panel); } - if (g_gps_state.member_panel != NULL) { + if (g_gps_state.member_panel != NULL) + { lv_obj_align(g_gps_state.member_panel, LV_ALIGN_TOP_LEFT, 0, 3); lv_obj_move_foreground(g_gps_state.member_panel); } - if (g_gps_state.resolution_label != NULL) { + if (g_gps_state.resolution_label != NULL) + { lv_obj_align(g_gps_state.resolution_label, LV_ALIGN_BOTTOM_LEFT, 10, -10); lv_obj_move_foreground(g_gps_state.resolution_label); } - if (g_gps_state.pan_h_indicator != NULL) { + if (g_gps_state.pan_h_indicator != NULL) + { lv_obj_align(g_gps_state.pan_h_indicator, LV_ALIGN_BOTTOM_MID, 0, -20); lv_obj_move_foreground(g_gps_state.pan_h_indicator); } - if (g_gps_state.pan_v_indicator != NULL) { + if (g_gps_state.pan_v_indicator != NULL) + { lv_obj_align(g_gps_state.pan_v_indicator, LV_ALIGN_LEFT_MID, 20, 0); lv_obj_move_foreground(g_gps_state.pan_v_indicator); } diff --git a/src/ui/screens/gps/gps_page_input.cpp b/src/ui/screens/gps/gps_page_input.cpp index 4f285b94..dcab336f 100644 --- a/src/ui/screens/gps/gps_page_input.cpp +++ b/src/ui/screens/gps/gps_page_input.cpp @@ -1,18 +1,16 @@ #include "gps_page_input.h" -#include "gps_page_lifetime.h" -#include "gps_state.h" +#include "../../ui_common.h" #include "../../widgets/map/map_tiles.h" #include "gps_constants.h" -#include "../../ui_common.h" #include "gps_modal.h" +#include "gps_page_lifetime.h" +#include "gps_state.h" #include "gps_tracker_overlay.h" -#include #include +#include #include - - -#define GPS_DEBUG 1 // Enable debug logging +#define GPS_DEBUG 1 // Enable debug logging #if GPS_DEBUG #define GPS_LOG(...) Serial.printf(__VA_ARGS__) #else @@ -29,13 +27,15 @@ using gps::ui::lifetime::is_alive; using GPSData = gps::GpsState; -static bool indev_is_pressed(lv_event_t *e) { - lv_indev_t *indev = lv_event_get_indev(e); +static bool indev_is_pressed(lv_event_t* e) +{ + lv_indev_t* indev = lv_event_get_indev(e); if (!indev) return false; return lv_indev_get_state(indev) == LV_INDEV_STATE_PRESSED; } -ControlId ctrl_id(lv_obj_t* obj) { +ControlId ctrl_id(lv_obj_t* obj) +{ if (obj == nullptr) return ControlId::Page; auto* tag = (ControlTag*)lv_obj_get_user_data(obj); return tag ? tag->id : ControlId::Page; @@ -45,18 +45,23 @@ ControlId ctrl_id(lv_obj_t* obj) { static ControlTag s_tags[256]; static uint16_t s_tag_index = 0; -void reset_control_tags() { +void reset_control_tags() +{ s_tag_index = 0; GPS_LOG("[GPS] reset_control_tags: tag index reset to 0\n"); } -void set_control_id(lv_obj_t* obj, ControlId id) { +void set_control_id(lv_obj_t* obj, ControlId id) +{ if (obj == nullptr) return; - if (s_tag_index < (sizeof(s_tags)/sizeof(s_tags[0]))) { + if (s_tag_index < (sizeof(s_tags) / sizeof(s_tags[0]))) + { s_tags[s_tag_index].id = id; lv_obj_set_user_data(obj, &s_tags[s_tag_index]); s_tag_index++; - } else { + } + else + { GPS_LOG("[GPS] WARNING: ControlTag pool exhausted! tag_index=%d\n", s_tag_index); } } @@ -76,32 +81,38 @@ static void action_pan_step(ControlId axis_id, int32_t step); void zoom_popup_handle_rotary(int32_t diff); void zoom_popup_handle_key(lv_key_t key, lv_event_t* e); -static void exit_pan_h_mode() { +static void exit_pan_h_mode() +{ extern void hide_pan_h_indicator(); g_gps_state.pan_h_editing = false; g_gps_state.edit_mode = 0; hide_pan_h_indicator(); - - extern lv_group_t *app_g; - if (app_g != NULL) { + + extern lv_group_t* app_g; + if (app_g != NULL) + { lv_group_set_editing(app_g, false); - if (g_gps_state.pan_h != NULL) { + if (g_gps_state.pan_h != NULL) + { lv_group_focus_obj(g_gps_state.pan_h); } } GPS_LOG("[GPS] exit_pan_h_mode: exited horizontal pan editing mode\n"); } -static void exit_pan_v_mode() { +static void exit_pan_v_mode() +{ extern void hide_pan_v_indicator(); g_gps_state.pan_v_editing = false; g_gps_state.edit_mode = 0; hide_pan_v_indicator(); - - extern lv_group_t *app_g; - if (app_g != NULL) { + + extern lv_group_t* app_g; + if (app_g != NULL) + { lv_group_set_editing(app_g, false); - if (g_gps_state.pan_v != NULL) { + if (g_gps_state.pan_v != NULL) + { lv_group_focus_obj(g_gps_state.pan_v); } } @@ -109,56 +120,75 @@ static void exit_pan_v_mode() { } // 注意:边沿检测已移到 poll_encoder_for_pan() 中,这里不再需? -void on_ui_event(lv_event_t* e) { - if (!is_alive()) { +void on_ui_event(lv_event_t* e) +{ + if (!is_alive()) + { return; } auto code = lv_event_get_code(e); auto* target = (lv_obj_t*)lv_event_get_target(e); - + // ============================================================================ // DEBUG: 详细日志,抓取真实事件类型和参数 // ============================================================================ - extern lv_group_t *app_g; + extern lv_group_t* app_g; lv_obj_t* focused = app_g ? lv_group_get_focused(app_g) : nullptr; bool editing = app_g ? lv_group_get_editing(app_g) : false; ControlId target_id = ctrl_id(target); - if (target_id == ControlId::BackBtn) { GPS_LOG("[GPS][BACK] on_ui_event: code=%d target=%p focused=%p editing=%d\n", (int)code, target, focused, editing); } - - if (code == LV_EVENT_KEY) { + if (target_id == ControlId::BackBtn) + { + GPS_LOG("[GPS][BACK] on_ui_event: code=%d target=%p focused=%p editing=%d\n", (int)code, target, focused, editing); + } + + if (code == LV_EVENT_KEY) + { lv_key_t key = (lv_key_t)lv_event_get_key(e); GPS_LOG("[GPS] EVENT: KEY, key=%d, target=%p(id=%d), focused=%p, editing=%d, pan_h=%d, pan_v=%d\n", key, target, (int)target_id, focused, editing, g_gps_state.pan_h_editing, g_gps_state.pan_v_editing); - } else if (code == LV_EVENT_ROTARY) { + } + else if (code == LV_EVENT_ROTARY) + { int32_t diff = lv_event_get_rotary_diff(e); GPS_LOG("[GPS] EVENT: ROTARY, diff=%d, target=%p(id=%d), focused=%p, editing=%d, pan_h=%d, pan_v=%d\n", diff, target, (int)target_id, focused, editing, g_gps_state.pan_h_editing, g_gps_state.pan_v_editing); - } else if (code == LV_EVENT_CLICKED) { + } + else if (code == LV_EVENT_CLICKED) + { GPS_LOG("[GPS] EVENT: CLICKED, target=%p(id=%d), focused=%p, editing=%d, pan_h=%d, pan_v=%d\n", target, (int)target_id, focused, editing, g_gps_state.pan_h_editing, g_gps_state.pan_v_editing); - } else if (code == LV_EVENT_PRESSED || code == LV_EVENT_RELEASED) { + } + else if (code == LV_EVENT_PRESSED || code == LV_EVENT_RELEASED) + { GPS_LOG("[GPS] EVENT: %s, target=%p(id=%d), focused=%p, editing=%d, pan_h=%d, pan_v=%d\n", code == LV_EVENT_PRESSED ? "PRESSED" : "RELEASED", target, (int)target_id, focused, editing, g_gps_state.pan_h_editing, g_gps_state.pan_v_editing); } - + // CRITICAL: Handle indicator events FIRST, matching original unified_button_handler logic // In original code, indicator events were checked before any other processing // Use pan_h_editing/pan_v_editing to match original code exactly - if (target == g_gps_state.pan_h_indicator) { + if (target == g_gps_state.pan_h_indicator) + { if (g_gps_state.zoom_modal.is_open()) return; updateUserActivity(); - + // Key event: encoder rotation generates KEY events. - if (code == LV_EVENT_KEY && g_gps_state.pan_h_editing) { + if (code == LV_EVENT_KEY && g_gps_state.pan_h_editing) + { lv_key_t key = (lv_key_t)lv_event_get_key(e); int32_t step = 0; - if (key == ENCODER_KEY_ROTATE_DOWN) { + if (key == ENCODER_KEY_ROTATE_DOWN) + { step = +1; - } else if (key == ENCODER_KEY_ROTATE_UP) { + } + else if (key == ENCODER_KEY_ROTATE_UP) + { step = -1; - } else { + } + else + { GPS_LOG("[GPS] PanH KEY: unexpected keycode=%d (expected %d or %d), ignoring\n", key, ENCODER_KEY_ROTATE_UP, ENCODER_KEY_ROTATE_DOWN); return; @@ -166,7 +196,8 @@ void on_ui_event(lv_event_t* e) { g_gps_state.pan_x += step * gps_ui::kMapPanStep; g_gps_state.pending_refresh = true; - if (g_gps_state.map != NULL) { + if (g_gps_state.map != NULL) + { lv_obj_invalidate(g_gps_state.map); } return; @@ -176,20 +207,27 @@ void on_ui_event(lv_event_t* e) { return; } - if (target == g_gps_state.pan_v_indicator) { + if (target == g_gps_state.pan_v_indicator) + { if (g_gps_state.zoom_modal.is_open()) return; updateUserActivity(); // Key event: encoder rotation generates KEY events. - if (code == LV_EVENT_KEY && g_gps_state.pan_v_editing) { + if (code == LV_EVENT_KEY && g_gps_state.pan_v_editing) + { lv_key_t key = (lv_key_t)lv_event_get_key(e); int32_t step = 0; - if (key == ENCODER_KEY_ROTATE_DOWN) { + if (key == ENCODER_KEY_ROTATE_DOWN) + { step = +1; - } else if (key == ENCODER_KEY_ROTATE_UP) { + } + else if (key == ENCODER_KEY_ROTATE_UP) + { step = -1; - } else { + } + else + { GPS_LOG("[GPS] PanV KEY: unexpected keycode=%d (expected %d or %d), ignoring\n", key, ENCODER_KEY_ROTATE_UP, ENCODER_KEY_ROTATE_DOWN); return; @@ -199,7 +237,8 @@ void on_ui_event(lv_event_t* e) { key, step, g_gps_state.pan_y, g_gps_state.pan_y + step * gps_ui::kMapPanStep); g_gps_state.pan_y += step * gps_ui::kMapPanStep; g_gps_state.pending_refresh = true; - if (g_gps_state.map != NULL) { + if (g_gps_state.map != NULL) + { lv_obj_invalidate(g_gps_state.map); } return; @@ -210,255 +249,316 @@ void on_ui_event(lv_event_t* e) { } const bool is_back_btn = (target_id == ControlId::BackBtn); - - if (g_gps_state.zoom_modal.is_open()) { + + if (g_gps_state.zoom_modal.is_open()) + { if (!is_back_btn && target_id != ControlId::ZoomValueLabel && - target_id != ControlId::ZoomWin) { + target_id != ControlId::ZoomWin) + { return; } } - if (modal_is_open(g_gps_state.tracker_modal) && !is_back_btn) { + if (modal_is_open(g_gps_state.tracker_modal) && !is_back_btn) + { return; } - - switch (code) { - case LV_EVENT_CLICKED: - handle_click(target); - break; - // LV_EVENT_ROTARY 从未收到,实际收到的?LV_EVENT_KEY (keycode 19/20) - // case LV_EVENT_ROTARY: - // handle_rotary(target, lv_event_get_rotary_diff(e)); - // break; - case LV_EVENT_KEY: - handle_key(target, (lv_key_t)lv_event_get_key(e), e); - break; - default: - break; + + switch (code) + { + case LV_EVENT_CLICKED: + handle_click(target); + break; + // LV_EVENT_ROTARY 从未收到,实际收到的?LV_EVENT_KEY (keycode 19/20) + // case LV_EVENT_ROTARY: + // handle_rotary(target, lv_event_get_rotary_diff(e)); + // break; + case LV_EVENT_KEY: + handle_key(target, (lv_key_t)lv_event_get_key(e), e); + break; + default: + break; } } -void pan_indicator_event_cb(lv_event_t* e) { - if (!is_alive()) { +void pan_indicator_event_cb(lv_event_t* e) +{ + if (!is_alive()) + { return; } lv_event_code_t code = lv_event_get_code(e); lv_obj_t* target = (lv_obj_t*)lv_event_get_target(e); - + GPS_LOG("[GPS] pan_indicator_event_cb: code=%d, target=%p, pan_h_indicator=%p, pan_v_indicator=%p\n", code, target, g_gps_state.pan_h_indicator, g_gps_state.pan_v_indicator); - - if (code == LV_EVENT_CLICKED) { + + if (code == LV_EVENT_CLICKED) + { GPS_LOG("[GPS] pan_indicator_event_cb: CLICKED event received\n"); - if (target == g_gps_state.pan_h_indicator) { + if (target == g_gps_state.pan_h_indicator) + { GPS_LOG("[GPS] pan_indicator_event_cb: target is pan_h_indicator, exiting editing mode\n"); - g_gps_state.edit_mode = 0; // Exit PanH editing mode - g_gps_state.pan_h_editing = false; // Keep in sync with original code + g_gps_state.edit_mode = 0; // Exit PanH editing mode + g_gps_state.pan_h_editing = false; // Keep in sync with original code extern void hide_pan_h_indicator(); hide_pan_h_indicator(); - extern lv_group_t *app_g; - if (app_g != NULL) { + extern lv_group_t* app_g; + if (app_g != NULL) + { lv_group_set_editing(app_g, false); - if (g_gps_state.pan_h != NULL) { + if (g_gps_state.pan_h != NULL) + { lv_group_focus_obj(g_gps_state.pan_h); } } GPS_LOG("[GPS] Horizontal pan indicator: CLICKED, exiting editing mode\n"); - } else if (target == g_gps_state.pan_v_indicator) { + } + else if (target == g_gps_state.pan_v_indicator) + { GPS_LOG("[GPS] pan_indicator_event_cb: target is pan_v_indicator, exiting editing mode\n"); - g_gps_state.edit_mode = 0; // Exit PanV editing mode - g_gps_state.pan_v_editing = false; // Keep in sync with original code + g_gps_state.edit_mode = 0; // Exit PanV editing mode + g_gps_state.pan_v_editing = false; // Keep in sync with original code extern void hide_pan_v_indicator(); hide_pan_v_indicator(); - extern lv_group_t *app_g; - if (app_g != NULL) { + extern lv_group_t* app_g; + if (app_g != NULL) + { lv_group_set_editing(app_g, false); - if (g_gps_state.pan_v != NULL) { + if (g_gps_state.pan_v != NULL) + { lv_group_focus_obj(g_gps_state.pan_v); } } GPS_LOG("[GPS] Vertical pan indicator: CLICKED, exiting editing mode\n"); - } else { + } + else + { GPS_LOG("[GPS] pan_indicator_event_cb: target mismatch! target=%p\n", target); } } } -static void handle_click(lv_obj_t* target) { +static void handle_click(lv_obj_t* target) +{ ControlId id = ctrl_id(target); updateUserActivity(); - - GPS_LOG("[GPS] handle_click: id=%d, edit_mode=%d\n", (int)id, g_gps_state.edit_mode); - - switch (id) { - case ControlId::BackBtn: - action_back_exit(); - break; - case ControlId::ZoomBtn: - action_zoom_open_popup(); - break; - - case ControlId::PosBtn: - action_position_center(); - break; - - case ControlId::PanHBtn: - if (g_gps_state.pan_h_editing) { // Use pan_h_editing to match original - action_pan_exit(); - } else { - action_pan_enter(ControlId::PanHBtn); - } - break; - - case ControlId::PanVBtn: - if (g_gps_state.pan_v_editing) { // Use pan_v_editing to match original - action_pan_exit(); - } else { - action_pan_enter(ControlId::PanVBtn); - } - break; - case ControlId::TrackerBtn: - gps_tracker_open_modal(); - break; - - default: - break; + GPS_LOG("[GPS] handle_click: id=%d, edit_mode=%d\n", (int)id, g_gps_state.edit_mode); + + switch (id) + { + case ControlId::BackBtn: + action_back_exit(); + break; + case ControlId::ZoomBtn: + action_zoom_open_popup(); + break; + + case ControlId::PosBtn: + action_position_center(); + break; + + case ControlId::PanHBtn: + if (g_gps_state.pan_h_editing) + { // Use pan_h_editing to match original + action_pan_exit(); + } + else + { + action_pan_enter(ControlId::PanHBtn); + } + break; + + case ControlId::PanVBtn: + if (g_gps_state.pan_v_editing) + { // Use pan_v_editing to match original + action_pan_exit(); + } + else + { + action_pan_enter(ControlId::PanVBtn); + } + break; + + case ControlId::TrackerBtn: + gps_tracker_open_modal(); + break; + + default: + break; } } -static void handle_rotary(lv_obj_t* target, int32_t diff) { +static void handle_rotary(lv_obj_t* target, int32_t diff) +{ if (diff == 0) return; - + ControlId id = ctrl_id(target); updateUserActivity(); - - GPS_LOG("[GPS] handle_rotary: target_id=%d, edit_mode=%d, diff=%d\n", + + GPS_LOG("[GPS] handle_rotary: target_id=%d, edit_mode=%d, diff=%d\n", (int)id, g_gps_state.edit_mode, diff); - - if (g_gps_state.zoom_modal.is_open()) { - if (id == ControlId::ZoomValueLabel || id == ControlId::ZoomWin) { + + if (g_gps_state.zoom_modal.is_open()) + { + if (id == ControlId::ZoomValueLabel || id == ControlId::ZoomWin) + { extern void zoom_popup_handle_rotary(int32_t diff); zoom_popup_handle_rotary(diff); return; } } - + // When in pan editing mode, handle rotary regardless of target // This allows rotary to work even if focus is on a different object // Use pan_h_editing/pan_v_editing to match original code - if (g_gps_state.pan_h_editing) { + if (g_gps_state.pan_h_editing) + { GPS_LOG("[GPS] handle_rotary: PanH editing mode, calling action_pan_step\n"); action_pan_step(ControlId::PanHIndicator, diff); return; } - - if (g_gps_state.pan_v_editing) { + + if (g_gps_state.pan_v_editing) + { GPS_LOG("[GPS] handle_rotary: PanV editing mode, calling action_pan_step\n"); action_pan_step(ControlId::PanVIndicator, diff); return; } } -static void handle_key(lv_obj_t* target, lv_key_t key, lv_event_t* e) { +static void handle_key(lv_obj_t* target, lv_key_t key, lv_event_t* e) +{ ControlId id = ctrl_id(target); updateUserActivity(); - if (id == ControlId::BackBtn) { - if (key == LV_KEY_ENTER || key == LV_KEY_ESC) { + if (id == ControlId::BackBtn) + { + if (key == LV_KEY_ENTER || key == LV_KEY_ESC) + { action_back_exit(); return; } } - if (g_gps_state.zoom_modal.is_open()) { - if (id == ControlId::ZoomValueLabel || id == ControlId::ZoomWin) { - extern void zoom_popup_handle_key(lv_key_t key, lv_event_t* e); + if (g_gps_state.zoom_modal.is_open()) + { + if (id == ControlId::ZoomValueLabel || id == ControlId::ZoomWin) + { + extern void zoom_popup_handle_key(lv_key_t key, lv_event_t * e); zoom_popup_handle_key(key, e); return; } } - if (modal_is_open(g_gps_state.tracker_modal)) { + if (modal_is_open(g_gps_state.tracker_modal)) + { return; } - - if (key == LV_KEY_ENTER) { - if (id == ControlId::BackBtn) { + + if (key == LV_KEY_ENTER) + { + if (id == ControlId::BackBtn) + { action_back_exit(); return; } - if (id == ControlId::ZoomBtn) { + if (id == ControlId::ZoomBtn) + { action_zoom_open_popup(); return; } - if (id == ControlId::PosBtn) { + if (id == ControlId::PosBtn) + { action_position_center(); return; } - if (id == ControlId::PanHBtn) { - if (g_gps_state.pan_h_editing) { // Use pan_h_editing to match original + if (id == ControlId::PanHBtn) + { + if (g_gps_state.pan_h_editing) + { // Use pan_h_editing to match original action_pan_exit(); - } else { + } + else + { action_pan_enter(ControlId::PanHBtn); } return; } - if (id == ControlId::PanVBtn) { - if (g_gps_state.pan_v_editing) { // Use pan_v_editing to match original + if (id == ControlId::PanVBtn) + { + if (g_gps_state.pan_v_editing) + { // Use pan_v_editing to match original action_pan_exit(); - } else { + } + else + { action_pan_enter(ControlId::PanVBtn); } return; } - if (id == ControlId::TrackerBtn) { + if (id == ControlId::TrackerBtn) + { gps_tracker_open_modal(); return; } } - - - if (key == 'z' || key == 'Z') { + + if (key == 'z' || key == 'Z') + { action_zoom_open_popup(); return; } - - if (key == 'p' || key == 'P') { + + if (key == 'p' || key == 'P') + { action_position_center(); return; } - - if (key == 'h' || key == 'H') { - if (g_gps_state.pan_h_editing) { // Use pan_h_editing to match original + + if (key == 'h' || key == 'H') + { + if (g_gps_state.pan_h_editing) + { // Use pan_h_editing to match original action_pan_exit(); - } else { + } + else + { action_pan_enter(ControlId::PanHBtn); } return; } - - if (key == 'v' || key == 'V') { - if (g_gps_state.pan_v_editing) { // Use pan_v_editing to match original + + if (key == 'v' || key == 'V') + { + if (g_gps_state.pan_v_editing) + { // Use pan_v_editing to match original action_pan_exit(); - } else { + } + else + { action_pan_enter(ControlId::PanVBtn); } return; } - if (key == 't' || key == 'T') { + if (key == 't' || key == 'T') + { gps_tracker_open_modal(); return; } } -static void action_back_exit() { - if (!is_alive()) { +static void action_back_exit() +{ + if (!is_alive()) + { return; } - if (g_gps_state.exiting) { + if (g_gps_state.exiting) + { return; } g_gps_state.exiting = true; @@ -475,107 +575,122 @@ static void action_back_exit_async(void* /*user_data*/) ui_request_exit_to_menu(); } -static void action_zoom_open_popup() { - if (!is_alive()) { +static void action_zoom_open_popup() +{ + if (!is_alive()) + { return; } extern void show_zoom_popup(); uint32_t now = millis(); - if (g_gps_state.zoom_modal.close_ms > 0 && - (now - g_gps_state.zoom_modal.close_ms) < 300) { + if (g_gps_state.zoom_modal.close_ms > 0 && + (now - g_gps_state.zoom_modal.close_ms) < 300) + { return; } - - if (!g_gps_state.zoom_modal.is_open()) { + + if (!g_gps_state.zoom_modal.is_open()) + { show_zoom_popup(); } } -static void action_position_center() { - if (!is_alive()) { +static void action_position_center() +{ + if (!is_alive()) + { return; } extern void show_toast(const char* message, uint32_t duration_ms); extern void update_map_tiles(bool lightweight); extern void create_gps_marker(); - + // Get latest GPS data GPSData gps_data = gps::gps_get_data(); - - if (!gps_data.valid) { + + if (!gps_data.valid) + { show_toast("No GPS data", 2000); GPS_LOG("[GPS] Position action: No GPS data, showing toast\n"); return; } - + // Update to latest GPS coordinates g_gps_state.lat = gps_data.lat; g_gps_state.lng = gps_data.lng; g_gps_state.has_fix = true; - + // Reset pan to center the GPS position g_gps_state.pan_x = 0; g_gps_state.pan_y = 0; - + // Create or update GPS marker create_gps_marker(); - + // Update map to show GPS position centered update_map_tiles(false); - GPS_LOG("[GPS] Position action: centered GPS marker at lat=%.6f, lng=%.6f\n", + GPS_LOG("[GPS] Position action: centered GPS marker at lat=%.6f, lng=%.6f\n", g_gps_state.lat, g_gps_state.lng); } -static void action_pan_enter(ControlId axis_id) { - if (!is_alive()) { +static void action_pan_enter(ControlId axis_id) +{ + if (!is_alive()) + { return; } extern void show_pan_h_indicator(); extern void show_pan_v_indicator(); extern void hide_pan_h_indicator(); extern void hide_pan_v_indicator(); - - if (axis_id == ControlId::PanHBtn) { - g_gps_state.edit_mode = 1; // PanH - g_gps_state.pan_h_editing = true; // Keep in sync with original code - g_gps_state.pan_v_editing = false; // Keep in sync with original code + + if (axis_id == ControlId::PanHBtn) + { + g_gps_state.edit_mode = 1; // PanH + g_gps_state.pan_h_editing = true; // Keep in sync with original code + g_gps_state.pan_v_editing = false; // Keep in sync with original code hide_pan_v_indicator(); show_pan_h_indicator(); - - extern lv_group_t *app_g; - if (app_g != NULL && g_gps_state.pan_h_indicator != NULL) { + + extern lv_group_t* app_g; + if (app_g != NULL && g_gps_state.pan_h_indicator != NULL) + { set_default_group(app_g); bind_encoder_to_group(app_g); - + // CRITICAL: 确保 indicator ?group 中且可聚? // 如果 focus 失败,说?indicator 没在 group 里或不可聚焦 lv_group_focus_obj(g_gps_state.pan_h_indicator); lv_group_set_editing(app_g, true); - + // Focus diagnostics. lv_obj_t* f = lv_group_get_focused(app_g); bool editing = lv_group_get_editing(app_g); GPS_LOG("[GPS] Horizontal pan: editing mode ON, focus=%p, indicator=%p, editing=%d\n", f, g_gps_state.pan_h_indicator, editing); - - if (f != g_gps_state.pan_h_indicator) { + + if (f != g_gps_state.pan_h_indicator) + { GPS_LOG("[GPS] ERROR: Focus mismatch! focus=%p, indicator=%p - indicator may not be in group or not focusable\n", f, g_gps_state.pan_h_indicator); } } - } else if (axis_id == ControlId::PanVBtn) { - g_gps_state.edit_mode = 2; // PanV - g_gps_state.pan_v_editing = true; // Keep in sync with original code - g_gps_state.pan_h_editing = false; // Keep in sync with original code + } + else if (axis_id == ControlId::PanVBtn) + { + g_gps_state.edit_mode = 2; // PanV + g_gps_state.pan_v_editing = true; // Keep in sync with original code + g_gps_state.pan_h_editing = false; // Keep in sync with original code hide_pan_h_indicator(); show_pan_v_indicator(); - - extern lv_group_t *app_g; - if (app_g != NULL && g_gps_state.pan_v_indicator != NULL) { + + extern lv_group_t* app_g; + if (app_g != NULL && g_gps_state.pan_v_indicator != NULL) + { set_default_group(app_g); bind_encoder_to_group(app_g); lv_group_focus_obj(g_gps_state.pan_v_indicator); lv_group_set_editing(app_g, true); - + // Focus diagnostics. lv_obj_t* f = lv_group_get_focused(app_g); GPS_LOG("[GPS] Vertical pan: editing mode ON, focus=%p, indicator=%p, editing=%d\n", @@ -584,52 +699,71 @@ static void action_pan_enter(ControlId axis_id) { } } -static void action_pan_exit() { - if (g_gps_state.edit_mode == 1) { // PanH +static void action_pan_exit() +{ + if (g_gps_state.edit_mode == 1) + { // PanH exit_pan_h_mode(); - } else if (g_gps_state.edit_mode == 2) { // PanV + } + else if (g_gps_state.edit_mode == 2) + { // PanV exit_pan_v_mode(); } } -static void action_pan_step(ControlId axis_id, int32_t step) { - if (!is_alive()) { +static void action_pan_step(ControlId axis_id, int32_t step) +{ + if (!is_alive()) + { return; } - if (axis_id == ControlId::PanHIndicator) { + if (axis_id == ControlId::PanHIndicator) + { g_gps_state.pan_x += step * gps_ui::kMapPanStep; - } else if (axis_id == ControlId::PanVIndicator) { + } + else if (axis_id == ControlId::PanVIndicator) + { g_gps_state.pan_y += step * gps_ui::kMapPanStep; } - + g_gps_state.pending_refresh = true; - if (g_gps_state.map != NULL) { + if (g_gps_state.map != NULL) + { lv_obj_invalidate(g_gps_state.map); } } -void zoom_popup_handle_rotary(int32_t diff) { - if (!is_alive()) { +void zoom_popup_handle_rotary(int32_t diff) +{ + if (!is_alive()) + { return; } - + updateUserActivity(); bool zoom_changed = false; - - if (diff > 0) { - if (g_gps_state.popup_zoom < gps_ui::kMaxZoom) { + + if (diff > 0) + { + if (g_gps_state.popup_zoom < gps_ui::kMaxZoom) + { g_gps_state.popup_zoom++; zoom_changed = true; } - } else if (diff < 0) { - if (g_gps_state.popup_zoom > gps_ui::kMinZoom) { + } + else if (diff < 0) + { + if (g_gps_state.popup_zoom > gps_ui::kMinZoom) + { g_gps_state.popup_zoom--; zoom_changed = true; } } - - if (zoom_changed) { - if (g_gps_state.popup_label != NULL) { + + if (zoom_changed) + { + if (g_gps_state.popup_label != NULL) + { char zoom_text[32]; snprintf(zoom_text, sizeof(zoom_text), "%d", g_gps_state.popup_zoom); lv_label_set_text(g_gps_state.popup_label, zoom_text); @@ -639,8 +773,10 @@ void zoom_popup_handle_rotary(int32_t diff) { } } -void zoom_popup_handle_key(lv_key_t key, lv_event_t* e) { - if (!is_alive()) { +void zoom_popup_handle_key(lv_key_t key, lv_event_t* e) +{ + if (!is_alive()) + { return; } extern void hide_zoom_popup(); @@ -648,83 +784,101 @@ void zoom_popup_handle_key(lv_key_t key, lv_event_t* e) { extern void update_map_anchor(); extern void update_resolution_display(); extern void update_zoom_btn(); - - if (key == LV_KEY_ESC) { + + if (key == LV_KEY_ESC) + { GPS_LOG("[GPS] ESC key on win: Canceling zoom selection\n"); hide_zoom_popup(); return; } - + static bool last_pressed_state = false; bool pressed = indev_is_pressed(e); bool rising_edge = pressed && !last_pressed_state; last_pressed_state = pressed; - - if (key == LV_KEY_ENTER || (key == ENCODER_KEY_ROTATE_UP && rising_edge)) { + + if (key == LV_KEY_ENTER || (key == ENCODER_KEY_ROTATE_UP && rising_edge)) + { GPS_LOG("[GPS] ENTER key: Applying zoom level %d\n", g_gps_state.popup_zoom); - + double center_lat = g_gps_state.lat; double center_lng = g_gps_state.lng; - - if (g_gps_state.anchor.valid) { + + if (g_gps_state.anchor.valid) + { get_screen_center_lat_lng(g_gps_state.tile_ctx, center_lat, center_lng); GPS_LOG("[GPS] Screen center before zoom: lat=%.6f, lng=%.6f\n", center_lat, center_lng); - } else if (!g_gps_state.has_fix) { + } + else if (!g_gps_state.has_fix) + { center_lat = gps_ui::kDefaultLat; center_lng = gps_ui::kDefaultLng; GPS_LOG("[GPS] Using London as default center (no anchor, no GPS fix)\n"); } - + g_gps_state.zoom_level = g_gps_state.popup_zoom; g_gps_state.lat = center_lat; g_gps_state.lng = center_lng; g_gps_state.pan_x = 0; g_gps_state.pan_y = 0; - + g_gps_state.last_resolution_zoom = g_gps_state.zoom_level; g_gps_state.last_resolution_lat = g_gps_state.lat; - + update_resolution_display(); update_map_anchor(); update_map_tiles(false); update_zoom_btn(); hide_zoom_popup(); - - GPS_LOG("[GPS] Zoom applied: level=%d, center=(%.6f, %.6f)\n", + + GPS_LOG("[GPS] Zoom applied: level=%d, center=(%.6f, %.6f)\n", g_gps_state.zoom_level, g_gps_state.lat, g_gps_state.lng); return; } - + // 只处理实际的 encoder keycode int32_t diff = 0; - if (key == ENCODER_KEY_ROTATE_DOWN) { + if (key == ENCODER_KEY_ROTATE_DOWN) + { diff = 1; - } else if (key == ENCODER_KEY_ROTATE_UP) { + } + else if (key == ENCODER_KEY_ROTATE_UP) + { diff = -1; - } else { + } + else + { GPS_LOG("[GPS] zoom_popup_handle_key: unexpected keycode=%d (expected %d or %d), ignoring\n", key, ENCODER_KEY_ROTATE_UP, ENCODER_KEY_ROTATE_DOWN); return; } - - if (diff != 0) { + + if (diff != 0) + { updateUserActivity(); bool zoom_changed = false; - - if (diff > 0) { - if (g_gps_state.popup_zoom < gps_ui::kMaxZoom) { + + if (diff > 0) + { + if (g_gps_state.popup_zoom < gps_ui::kMaxZoom) + { g_gps_state.popup_zoom++; zoom_changed = true; } - } else if (diff < 0) { - if (g_gps_state.popup_zoom > gps_ui::kMinZoom) { + } + else if (diff < 0) + { + if (g_gps_state.popup_zoom > gps_ui::kMinZoom) + { g_gps_state.popup_zoom--; zoom_changed = true; } } - - if (zoom_changed) { - if (g_gps_state.popup_label != NULL) { + + if (zoom_changed) + { + if (g_gps_state.popup_label != NULL) + { char zoom_text[32]; snprintf(zoom_text, sizeof(zoom_text), "%d", g_gps_state.popup_zoom); lv_label_set_text(g_gps_state.popup_label, zoom_text); diff --git a/src/ui/screens/gps/gps_page_input.h b/src/ui/screens/gps/gps_page_input.h index 1e00a7ee..6d185ef2 100644 --- a/src/ui/screens/gps/gps_page_input.h +++ b/src/ui/screens/gps/gps_page_input.h @@ -6,10 +6,11 @@ // Encoder rotation keycodes (from LVGL encoder driver) // These are the actual keycodes sent when rotary encoder rotates -#define ENCODER_KEY_ROTATE_DOWN 20 // 向下滚(顺时针) -#define ENCODER_KEY_ROTATE_UP 19 // 向上滚(逆时针) +#define ENCODER_KEY_ROTATE_DOWN 20 // 向下滚(顺时针) +#define ENCODER_KEY_ROTATE_UP 19 // 向上滚(逆时针) -enum class ControlId : uint8_t { +enum class ControlId : uint8_t +{ BackBtn, ZoomBtn, PosBtn, @@ -24,13 +25,14 @@ enum class ControlId : uint8_t { Page }; -struct ControlTag { +struct ControlTag +{ ControlId id; }; ControlId ctrl_id(lv_obj_t* obj); void set_control_id(lv_obj_t* obj, ControlId id); -void reset_control_tags(); // 重置 control tag 池(在页面进入时调用) +void reset_control_tags(); // 重置 control tag 池(在页面进入时调用) void on_ui_event(lv_event_t* e); void pan_indicator_event_cb(lv_event_t* e); diff --git a/src/ui/screens/gps/gps_page_layout.cpp b/src/ui/screens/gps/gps_page_layout.cpp index 5bbedeba..8d234f91 100644 --- a/src/ui/screens/gps/gps_page_layout.cpp +++ b/src/ui/screens/gps/gps_page_layout.cpp @@ -1,6 +1,7 @@ #include "gps_page_layout.h" -namespace gps::ui::layout { +namespace gps::ui::layout +{ /** * Wireframe (structure only; styles are applied elsewhere) @@ -88,7 +89,8 @@ void create(lv_obj_t* parent, const Spec& spec, Widgets& w) lv_obj_set_scrollbar_mode(w.member_panel, LV_SCROLLBAR_MODE_OFF); lv_obj_align(w.member_panel, LV_ALIGN_TOP_LEFT, spec.member_panel_left_offset, spec.member_panel_top_offset); - auto create_control = [&](lv_obj_t*& btn, lv_obj_t*& label, const char* text) { + auto create_control = [&](lv_obj_t*& btn, lv_obj_t*& label, const char* text) + { btn = lv_btn_create(w.panel); lv_obj_set_size(btn, spec.control_btn_w, spec.control_btn_h); label = lv_label_create(btn); diff --git a/src/ui/screens/gps/gps_page_layout.h b/src/ui/screens/gps/gps_page_layout.h index 5845a9cc..e916c1bf 100644 --- a/src/ui/screens/gps/gps_page_layout.h +++ b/src/ui/screens/gps/gps_page_layout.h @@ -1,11 +1,13 @@ #pragma once -#include "lvgl.h" #include "../../widgets/top_bar.h" +#include "lvgl.h" -namespace gps::ui::layout { +namespace gps::ui::layout +{ -struct Spec { +struct Spec +{ int panel_width = 85; int panel_top_offset = 3; int panel_row_gap = 3; @@ -23,7 +25,8 @@ struct Spec { int control_btn_h = 32; }; -struct Widgets { +struct Widgets +{ lv_obj_t* root = nullptr; lv_obj_t* header = nullptr; lv_obj_t* content = nullptr; diff --git a/src/ui/screens/gps/gps_page_lifetime.cpp b/src/ui/screens/gps/gps_page_lifetime.cpp index 22ff29c0..832428ca 100644 --- a/src/ui/screens/gps/gps_page_lifetime.cpp +++ b/src/ui/screens/gps/gps_page_lifetime.cpp @@ -1,23 +1,27 @@ #include "gps_page_lifetime.h" +#include "../../widgets/map/map_tiles.h" #include "gps_modal.h" #include "gps_page_map.h" #include "gps_state.h" #include "gps_tracker_overlay.h" -#include "../../widgets/map/map_tiles.h" #include -namespace gps::ui::lifetime { +namespace gps::ui::lifetime +{ -namespace { +namespace +{ void clear_modal_groups() { - if (g_gps_state.zoom_modal.group) { + if (g_gps_state.zoom_modal.group) + { lv_group_del(g_gps_state.zoom_modal.group); g_gps_state.zoom_modal.group = nullptr; } - if (g_gps_state.tracker_modal.group) { + if (g_gps_state.tracker_modal.group) + { lv_group_del(g_gps_state.tracker_modal.group); g_gps_state.tracker_modal.group = nullptr; } @@ -26,12 +30,15 @@ void clear_modal_groups() void detach_group_objs() { lv_group_t* group = g_gps_state.app_group; - if (!group) { + if (!group) + { return; } - auto remove_if = [group](lv_obj_t* obj) { - if (obj) { + auto remove_if = [group](lv_obj_t* obj) + { + if (obj) + { lv_group_remove_obj(obj); } }; @@ -54,7 +61,8 @@ void on_root_deleted(lv_event_t* e) { (void)e; - if (!g_gps_state.alive) { + if (!g_gps_state.alive) + { return; } @@ -74,7 +82,8 @@ void on_root_deleted(lv_event_t* e) g_gps_state.popup_label = nullptr; // Close modals that are not children of the root container. - if (g_gps_state.zoom_modal.is_open()) { + if (g_gps_state.zoom_modal.is_open()) + { modal_close(g_gps_state.zoom_modal); } gps_tracker_cleanup(); @@ -114,7 +123,8 @@ bool is_alive() void bind_root_delete_hook() { - if (!g_gps_state.root || g_gps_state.delete_hook_bound) { + if (!g_gps_state.root || g_gps_state.delete_hook_bound) + { return; } lv_obj_add_event_cb(g_gps_state.root, on_root_deleted, LV_EVENT_DELETE, nullptr); @@ -123,11 +133,13 @@ void bind_root_delete_hook() lv_timer_t* add_timer(lv_timer_cb_t cb, uint32_t period_ms, void* user_data) { - if (!is_alive()) { + if (!is_alive()) + { return nullptr; } lv_timer_t* timer = lv_timer_create(cb, period_ms, user_data); - if (timer) { + if (timer) + { g_gps_state.timers.push_back(timer); } return timer; @@ -135,8 +147,10 @@ lv_timer_t* add_timer(lv_timer_cb_t cb, uint32_t period_ms, void* user_data) void clear_timers() { - for (lv_timer_t* timer : g_gps_state.timers) { - if (timer) { + for (lv_timer_t* timer : g_gps_state.timers) + { + if (timer) + { lv_timer_del(timer); } } @@ -145,7 +159,8 @@ void clear_timers() void remove_timer(lv_timer_t* timer) { - if (!timer) { + if (!timer) + { return; } diff --git a/src/ui/screens/gps/gps_page_lifetime.h b/src/ui/screens/gps/gps_page_lifetime.h index fd7132a1..e98b8778 100644 --- a/src/ui/screens/gps/gps_page_lifetime.h +++ b/src/ui/screens/gps/gps_page_lifetime.h @@ -2,7 +2,8 @@ #include "lvgl.h" -namespace gps::ui::lifetime { +namespace gps::ui::lifetime +{ void mark_alive(lv_obj_t* root, lv_group_t* app_group); bool is_alive(); diff --git a/src/ui/screens/gps/gps_page_map.cpp b/src/ui/screens/gps/gps_page_map.cpp index 609fa9c2..5530bbbd 100644 --- a/src/ui/screens/gps/gps_page_map.cpp +++ b/src/ui/screens/gps/gps_page_map.cpp @@ -1,24 +1,25 @@ #include "gps_page_map.h" -#include "gps_page_lifetime.h" -#include "gps_state.h" -#include "gps_page_components.h" -#include "gps_page_styles.h" -#include "../../widgets/map/map_tiles.h" -#include "gps_constants.h" -#include "../../gps/gps_hw_status.h" -#include "../team/team_ui_store.h" -#include "../team/team_state.h" #include "../../../app/app_context.h" +#include "../../gps/gps_hw_status.h" #include "../../ui_common.h" +#include "../../widgets/map/map_tiles.h" +#include "../team/team_state.h" +#include "../team/team_ui_store.h" +#include "gps_constants.h" +#include "gps_page_components.h" +#include "gps_page_lifetime.h" +#include "gps_page_styles.h" +#include "gps_state.h" #include "lvgl.h" #include #include -#include #include +#include #include // GPS marker icon (room-24px), defined in C image file -extern "C" { +extern "C" +{ extern const lv_image_dsc_t room_24px; } @@ -39,7 +40,8 @@ using gps::ui::lifetime::is_alive; using GPSData = gps::GpsState; // Cached state for title/status updates (moved from presenter) -static struct { +static struct +{ bool cached_has_fix; int cached_zoom; bool cached_sd_ready; @@ -80,7 +82,8 @@ constexpr uint32_t kInvalidMemberId = 0xFFFFFFFFu; uint32_t hash_member_list(const std::vector& members) { uint32_t h = 2166136261u; - auto mix = [&](uint32_t v) { + auto mix = [&](uint32_t v) + { h ^= v; h *= 16777619u; }; @@ -138,7 +141,8 @@ bool load_team_data(team::TeamId& out_id, std::vector& o bool member_exists(const std::vector& members, uint32_t member_id) { return std::find_if(members.begin(), members.end(), - [&](const team::ui::TeamMemberUi& m) { + [&](const team::ui::TeamMemberUi& m) + { return m.node_id == member_id; }) != members.end(); } @@ -146,7 +150,8 @@ bool member_exists(const std::vector& members, uint32_t const team::ui::TeamMemberUi* find_member(const std::vector& members, uint32_t member_id) { auto it = std::find_if(members.begin(), members.end(), - [&](const team::ui::TeamMemberUi& m) { + [&](const team::ui::TeamMemberUi& m) + { return m.node_id == member_id; }); if (it == members.end()) @@ -159,7 +164,8 @@ const team::ui::TeamMemberUi* find_member(const std::vector& members, uint32_t member_id) { auto it = std::find_if(members.begin(), members.end(), - [&](const team::ui::TeamMemberUi& m) { + [&](const team::ui::TeamMemberUi& m) + { return m.node_id == member_id; }); if (it == members.end()) @@ -180,7 +186,8 @@ lv_color_t marker_text_color(uint32_t color) uint8_t b = static_cast(color & 0xFF); uint32_t lum = (static_cast(r) * 299 + static_cast(g) * 587 + - static_cast(b) * 114) / 1000; + static_cast(b) * 114) / + 1000; return (lum > 160) ? lv_color_black() : lv_color_white(); } @@ -281,60 +288,74 @@ int find_team_marker_index(uint32_t member_id) void update_resolution_display() { - if (!is_alive() || g_gps_state.resolution_label == NULL) { + if (!is_alive() || g_gps_state.resolution_label == NULL) + { return; } - + double lat = g_gps_state.has_fix ? g_gps_state.lat : gps_ui::kDefaultLat; - + double resolution_m = gps::calculate_map_resolution(g_gps_state.zoom_level, lat); - + char resolution_text[32]; - if (resolution_m < 1000.0) { - if (resolution_m < 1.0) { + if (resolution_m < 1000.0) + { + if (resolution_m < 1.0) + { snprintf(resolution_text, sizeof(resolution_text), "%.2f m", resolution_m); - } else { + } + else + { snprintf(resolution_text, sizeof(resolution_text), "%.0f m", resolution_m); } - } else { + } + else + { double resolution_km = resolution_m / 1000.0; - if (resolution_km < 10.0) { + if (resolution_km < 10.0) + { snprintf(resolution_text, sizeof(resolution_text), "%.2f km", resolution_km); - } else if (resolution_km < 100.0) { + } + else if (resolution_km < 100.0) + { snprintf(resolution_text, sizeof(resolution_text), "%.1f km", resolution_km); - } else { + } + else + { snprintf(resolution_text, sizeof(resolution_text), "%.0f km", resolution_km); } } - + lv_label_set_text(g_gps_state.resolution_label, resolution_text); } void update_title_and_status() { - if (!is_alive()) { + if (!is_alive()) + { return; } bool sd_ready = sd_hw_is_ready(); bool gps_ready = gps_hw_is_ready(); GPSData gps_data = gps::gps_get_data(); uint8_t satellites = gps_data.satellites; - + bool state_changed = !last_status_state.initialized || (last_status_state.cached_has_fix != g_gps_state.has_fix || - last_status_state.cached_sd_ready != sd_ready || - last_status_state.cached_gps_ready != gps_ready || - last_status_state.cached_has_map_data != g_gps_state.has_visible_map_data || - last_status_state.cached_satellites != satellites); - - if (!state_changed) { + last_status_state.cached_sd_ready != sd_ready || + last_status_state.cached_gps_ready != gps_ready || + last_status_state.cached_has_map_data != g_gps_state.has_visible_map_data || + last_status_state.cached_satellites != satellites); + + if (!state_changed) + { GPS_LOG("[GPS] State unchanged, skipping title update (will be handled by 30s timer)\n"); return; } - + GPS_LOG("[GPS] State changed, updating title: has_fix=%d, gps_ready=%d, sd_ready=%d, has_map=%d\n", g_gps_state.has_fix, gps_ready, sd_ready, g_gps_state.has_visible_map_data); - + last_status_state.cached_has_fix = g_gps_state.has_fix; last_status_state.cached_zoom = g_gps_state.zoom_level; last_status_state.cached_sd_ready = sd_ready; @@ -342,29 +363,37 @@ void update_title_and_status() last_status_state.cached_has_map_data = g_gps_state.has_visible_map_data; last_status_state.cached_satellites = satellites; last_status_state.initialized = true; - + // Update shared top bar title; layout no longer depends on lv_menu static char title_buffer[64]; - - if (g_gps_state.has_fix && gps_ready) { + + if (g_gps_state.has_fix && gps_ready) + { snprintf(title_buffer, sizeof(title_buffer), "GPS - %.4f,%.4f", g_gps_state.lat, g_gps_state.lng); - } else if (!sd_ready) { + } + else if (!sd_ready) + { snprintf(title_buffer, sizeof(title_buffer), "GPS - No SD Card"); - } else if (!g_gps_state.has_visible_map_data) { + } + else if (!g_gps_state.has_visible_map_data) + { snprintf(title_buffer, sizeof(title_buffer), "GPS - No Map Data"); - } else { + } + else + { snprintf(title_buffer, sizeof(title_buffer), "GPS - no gps data"); } - - GPS_LOG("[GPS] Setting page title to: '%s' (page=%p)\n", + + GPS_LOG("[GPS] Setting page title to: '%s' (page=%p)\n", title_buffer, g_gps_state.page); - - if (g_gps_state.top_bar.container != nullptr) { + + if (g_gps_state.top_bar.container != nullptr) + { ::ui::widgets::top_bar_set_title(g_gps_state.top_bar, title_buffer); // Also update shared top bar battery from board state ui_update_top_bar_battery(g_gps_state.top_bar); } - + update_zoom_btn(); } @@ -380,49 +409,55 @@ void reset_title_status_cache() void update_map_anchor() { - if (!is_alive()) { + if (!is_alive()) + { return; } - ::update_map_anchor(g_gps_state.tile_ctx, - g_gps_state.lat, g_gps_state.lng, - g_gps_state.zoom_level, - g_gps_state.pan_x, g_gps_state.pan_y, - g_gps_state.has_fix); + ::update_map_anchor(g_gps_state.tile_ctx, + g_gps_state.lat, g_gps_state.lng, + g_gps_state.zoom_level, + g_gps_state.pan_x, g_gps_state.pan_y, + g_gps_state.has_fix); } void update_map_tiles(bool lightweight) { - if (!is_alive() || g_gps_state.map == NULL) { + if (!is_alive() || g_gps_state.map == NULL) + { return; } - ::calculate_required_tiles(g_gps_state.tile_ctx, - g_gps_state.lat, g_gps_state.lng, - g_gps_state.zoom_level, - g_gps_state.pan_x, g_gps_state.pan_y, + ::calculate_required_tiles(g_gps_state.tile_ctx, + g_gps_state.lat, g_gps_state.lng, + g_gps_state.zoom_level, + g_gps_state.pan_x, g_gps_state.pan_y, g_gps_state.has_fix); - - if (!lightweight) { + + if (!lightweight) + { fix_ui_elements_position(); } - - if (!lightweight) { + + if (!lightweight) + { bool zoom_changed = (g_gps_state.last_resolution_zoom != g_gps_state.zoom_level); bool lat_changed = (fabs(g_gps_state.last_resolution_lat - g_gps_state.lat) > 0.001); - if (zoom_changed || lat_changed) { + if (zoom_changed || lat_changed) + { update_resolution_display(); g_gps_state.last_resolution_zoom = g_gps_state.zoom_level; g_gps_state.last_resolution_lat = g_gps_state.lat; } - + // Update GPS marker position after map tiles are updated // This ensures marker is rendered on top and moves with the map - if (g_gps_state.gps_marker != NULL) { + if (g_gps_state.gps_marker != NULL) + { update_gps_marker_position(); } update_team_marker_positions(); } - + lv_obj_invalidate(g_gps_state.map); } @@ -432,24 +467,29 @@ void update_map_tiles(bool lightweight) */ void update_gps_marker_position() { - if (!is_alive() || g_gps_state.gps_marker == NULL || g_gps_state.map == NULL) { + if (!is_alive() || g_gps_state.gps_marker == NULL || g_gps_state.map == NULL) + { return; } - - if (!g_gps_state.has_fix || !g_gps_state.tile_ctx.anchor || !g_gps_state.tile_ctx.anchor->valid) { + + if (!g_gps_state.has_fix || !g_gps_state.tile_ctx.anchor || !g_gps_state.tile_ctx.anchor->valid) + { lv_obj_add_flag(g_gps_state.gps_marker, LV_OBJ_FLAG_HIDDEN); return; } - + // Calculate screen position for GPS coordinates int screen_x, screen_y; - if (gps_screen_pos(g_gps_state.tile_ctx, g_gps_state.lat, g_gps_state.lng, screen_x, screen_y)) { + if (gps_screen_pos(g_gps_state.tile_ctx, g_gps_state.lat, g_gps_state.lng, screen_x, screen_y)) + { // Center marker on GPS position (marker is typically 24x24, so offset by half) const int marker_size = 24; lv_obj_set_pos(g_gps_state.gps_marker, screen_x - marker_size / 2, screen_y - marker_size / 2); lv_obj_clear_flag(g_gps_state.gps_marker, LV_OBJ_FLAG_HIDDEN); lv_obj_move_foreground(g_gps_state.gps_marker); - } else { + } + else + { lv_obj_add_flag(g_gps_state.gps_marker, LV_OBJ_FLAG_HIDDEN); } } @@ -460,26 +500,28 @@ void update_gps_marker_position() */ void create_gps_marker() { - if (!is_alive() || !g_gps_state.has_fix || g_gps_state.map == NULL) { + if (!is_alive() || !g_gps_state.has_fix || g_gps_state.map == NULL) + { return; } - + // If marker already exists, just update its position - if (g_gps_state.gps_marker != NULL) { + if (g_gps_state.gps_marker != NULL) + { update_gps_marker_position(); return; } - + // Create marker image with room icon g_gps_state.gps_marker = lv_image_create(g_gps_state.map); lv_image_set_src(g_gps_state.gps_marker, &room_24px); - + // Set marker size (24x24 pixels) lv_obj_set_size(g_gps_state.gps_marker, 24, 24); - + // Set initial position update_gps_marker_position(); - + GPS_LOG("[GPS] GPS marker created at lat=%.6f, lng=%.6f\n", g_gps_state.lat, g_gps_state.lng); } @@ -488,10 +530,12 @@ void create_gps_marker() */ void hide_gps_marker() { - if (!is_alive()) { + if (!is_alive()) + { return; } - if (g_gps_state.gps_marker != NULL) { + if (g_gps_state.gps_marker != NULL) + { lv_obj_add_flag(g_gps_state.gps_marker, LV_OBJ_FLAG_HIDDEN); } } @@ -799,7 +843,8 @@ void refresh_team_markers_from_posring() return; } auto sample_it = std::find_if(samples.begin(), samples.end(), - [&](const team::ui::TeamPosSample& s) { + [&](const team::ui::TeamPosSample& s) + { return s.member_id == g_gps_state.selected_member_id; }); if (sample_it == samples.end()) @@ -808,7 +853,7 @@ void refresh_team_markers_from_posring() return; } - for (auto it = g_gps_state.team_markers.begin(); it != g_gps_state.team_markers.end(); ) + for (auto it = g_gps_state.team_markers.begin(); it != g_gps_state.team_markers.end();) { if (it->member_id != g_gps_state.selected_member_id) { @@ -867,25 +912,26 @@ void refresh_team_markers_from_posring() void tick_loader() { - if (!is_alive()) { + if (!is_alive()) + { return; } static bool prev_has_visible_map_data = false; - - if (!g_gps_state.initial_tiles_loaded && g_gps_state.map != NULL) { + + if (!g_gps_state.initial_tiles_loaded && g_gps_state.map != NULL) + { g_gps_state.initial_tiles_loaded = true; update_map_tiles(false); g_gps_state.initial_load_ms = millis(); } - + ::tile_loader_step(g_gps_state.tile_ctx); - - } void tick_gps_update(bool allow_map_refresh) { - if (!is_alive()) { + if (!is_alive()) + { return; } GPSData gps_data = gps::gps_get_data(); @@ -904,15 +950,16 @@ void tick_gps_update(bool allow_map_refresh) static uint32_t last_refresh_ms = 0; const uint32_t TITLE_UPDATE_INTERVAL_MS = 30000; - const double MOVE_THRESHOLD_M = 15.0; // 忽略小抖动(可调 10~30m) - const uint32_t REFRESH_INTERVAL_MS = 2000; // 即使移动很慢也定期刷新 + const double MOVE_THRESHOLD_M = 15.0; // 忽略小抖动(可调 10~30m) + const uint32_t REFRESH_INTERVAL_MS = 2000; // 即使移动很慢也定期刷新 bool gps_ready = gps_hw_is_ready(); bool sd_ready = sd_hw_is_ready(); uint32_t now_ms = millis(); bool gps_state_changed = false; - if (gps_data.valid) { + if (gps_data.valid) + { double new_lat = gps_data.lat; double new_lng = gps_data.lng; @@ -921,14 +968,16 @@ void tick_gps_update(bool allow_map_refresh) // 始终更新坐标,让状态显示保持最新 if (just_got_fix || fabs(new_lat - g_gps_state.lat) > 0.0001 || - fabs(new_lng - g_gps_state.lng) > 0.0001) { + fabs(new_lng - g_gps_state.lng) > 0.0001) + { g_gps_state.lat = new_lat; g_gps_state.lng = new_lng; g_gps_state.has_fix = true; gps_state_changed = true; } - if (just_got_fix && g_gps_state.zoom_level == 0) { + if (just_got_fix && g_gps_state.zoom_level == 0) + { g_gps_state.zoom_level = gps_ui::kDefaultZoom; g_gps_state.last_resolution_zoom = g_gps_state.zoom_level; g_gps_state.last_resolution_lat = g_gps_state.lat; @@ -936,11 +985,15 @@ void tick_gps_update(bool allow_map_refresh) } // 只对“地图刷新”加抖动过滤 - if (allow_map_refresh) { + if (allow_map_refresh) + { bool moved_enough = false; - if (!last_refresh_valid) { + if (!last_refresh_valid) + { moved_enough = true; - } else { + } + else + { double dist_m = approx_distance_m( last_refresh_lat, last_refresh_lng, new_lat, new_lng); moved_enough = dist_m >= MOVE_THRESHOLD_M; @@ -948,7 +1001,8 @@ void tick_gps_update(bool allow_map_refresh) bool time_due = (now_ms - last_refresh_ms) >= REFRESH_INTERVAL_MS; - if (just_got_fix || moved_enough || time_due) { + if (just_got_fix || moved_enough || time_due) + { g_gps_state.pan_x = 0; g_gps_state.pan_y = 0; @@ -961,8 +1015,11 @@ void tick_gps_update(bool allow_map_refresh) last_refresh_valid = true; } } - } else { - if (g_gps_state.has_fix) { + } + else + { + if (g_gps_state.has_fix) + { g_gps_state.has_fix = false; g_gps_state.zoom_level = 0; @@ -976,38 +1033,41 @@ void tick_gps_update(bool allow_map_refresh) last_refresh_valid = false; - if (allow_map_refresh) { + if (allow_map_refresh) + { g_gps_state.pan_x = 0; g_gps_state.pan_y = 0; update_map_tiles(false); } } } - + bool state_changed = (prev_has_fix != g_gps_state.has_fix || - prev_has_visible_map_data != g_gps_state.has_visible_map_data || - prev_gps_ready != gps_ready || - prev_sd_ready != sd_ready || - prev_satellites != gps_data.satellites || - gps_state_changed); + prev_has_visible_map_data != g_gps_state.has_visible_map_data || + prev_gps_ready != gps_ready || + prev_sd_ready != sd_ready || + prev_satellites != gps_data.satellites || + gps_state_changed); bool time_elapsed = (now_ms - last_title_update_ms) >= TITLE_UPDATE_INTERVAL_MS; - - if (state_changed || time_elapsed) { - GPS_LOG("[GPS] tick_gps_update: Updating title (state_changed=%d, time_elapsed=%d, has_fix=%d, has_map=%d)\n", - state_changed, time_elapsed, g_gps_state.has_fix, g_gps_state.has_visible_map_data); + + if (state_changed || time_elapsed) + { + GPS_LOG("[GPS] tick_gps_update: Updating title (state_changed=%d, time_elapsed=%d, has_fix=%d, has_map=%d)\n", + state_changed, time_elapsed, g_gps_state.has_fix, g_gps_state.has_visible_map_data); reset_title_status_cache(); update_title_and_status(); last_title_update_ms = now_ms; - + prev_has_fix = g_gps_state.has_fix; prev_has_visible_map_data = g_gps_state.has_visible_map_data; prev_gps_ready = gps_ready; prev_sd_ready = sd_ready; prev_satellites = gps_data.satellites; } - + // Update GPS marker position if marker exists and GPS data changed - if (gps_state_changed && g_gps_state.gps_marker != NULL) { + if (gps_state_changed && g_gps_state.gps_marker != NULL) + { update_gps_marker_position(); } } diff --git a/src/ui/screens/gps/gps_page_map.h b/src/ui/screens/gps/gps_page_map.h index 26b95791..9cb418e3 100644 --- a/src/ui/screens/gps/gps_page_map.h +++ b/src/ui/screens/gps/gps_page_map.h @@ -21,7 +21,7 @@ void refresh_member_panel(bool force = false); // UI status and title updates (moved from presenter) void update_title_and_status(); void update_resolution_display(); -void reset_title_status_cache(); // Reset cached state to force next update -void update_zoom_btn(); // Placeholder for future zoom button updates +void reset_title_status_cache(); // Reset cached state to force next update +void update_zoom_btn(); // Placeholder for future zoom button updates #endif // GPS_PAGE_MAP_H diff --git a/src/ui/screens/gps/gps_page_styles.cpp b/src/ui/screens/gps/gps_page_styles.cpp index 242c1ec2..5d2fcd0f 100644 --- a/src/ui/screens/gps/gps_page_styles.cpp +++ b/src/ui/screens/gps/gps_page_styles.cpp @@ -1,8 +1,10 @@ #include "gps_page_styles.h" -namespace gps::ui::styles { +namespace gps::ui::styles +{ -namespace { +namespace +{ bool s_inited = false; @@ -59,7 +61,8 @@ constexpr uint32_t kZoomValueFocusedBg = 0xF0F0F0; void init_once() { - if (s_inited) { + if (s_inited) + { return; } diff --git a/src/ui/screens/gps/gps_page_styles.h b/src/ui/screens/gps/gps_page_styles.h index fdd00c39..015ba48b 100644 --- a/src/ui/screens/gps/gps_page_styles.h +++ b/src/ui/screens/gps/gps_page_styles.h @@ -1,9 +1,10 @@ #pragma once -#include "lvgl.h" #include "gps_page_layout.h" +#include "lvgl.h" -namespace gps::ui::styles { +namespace gps::ui::styles +{ void init_once(); void apply_all(const layout::Widgets& w, const layout::Spec& spec); diff --git a/src/ui/screens/gps/gps_state.h b/src/ui/screens/gps/gps_state.h index c09952d3..5ff777a6 100644 --- a/src/ui/screens/gps/gps_state.h +++ b/src/ui/screens/gps/gps_state.h @@ -6,50 +6,51 @@ #ifndef GPS_STATE_H #define GPS_STATE_H -#include "lvgl.h" #include "../../widgets/map/map_tiles.h" -#include "gps_modal.h" -#include "gps_constants.h" #include "../../widgets/top_bar.h" -#include +#include "gps_constants.h" +#include "gps_modal.h" +#include "lvgl.h" #include #include +#include /** * GPS Page State - consolidate all static state variables * Makes cleanup/exit logic simpler and prevents state leaks * Note: No macro aliases - use g_gps_state.member directly */ -struct GPSPageState { - struct TrackOverlayPoint { +struct GPSPageState +{ + struct TrackOverlayPoint + { double lat = 0.0; double lng = 0.0; }; // UI refs - lv_obj_t *root = nullptr; - lv_obj_t *header = nullptr; - lv_obj_t *menu = nullptr; - lv_obj_t *page = nullptr; - lv_obj_t *map = nullptr; - lv_obj_t *resolution_label = nullptr; // Resolution display label (bottom-left) - lv_obj_t *panel = nullptr; - lv_obj_t *member_panel = nullptr; - lv_obj_t *zoom = nullptr; - lv_obj_t *pos = nullptr; - lv_obj_t *pan_h = nullptr; // Horizontal pan button - lv_obj_t *pan_v = nullptr; // Vertical pan button - lv_obj_t *tracker_btn = nullptr; // Tracker button - lv_obj_t *pan_h_indicator = nullptr; // Horizontal pan indicator (line with arrows at bottom) - lv_obj_t *pan_v_indicator = nullptr; // Vertical pan indicator (line with arrows on right) - lv_obj_t *popup_label = nullptr; // zoom_popup_label - lv_obj_t *loading_msgbox = nullptr; - lv_obj_t *toast_msgbox = nullptr; // Toast notification message box - lv_timer_t* toast_timer = nullptr; // Timer to auto-hide toast - lv_obj_t *gps_marker = nullptr; // GPS position marker (rendered on map) - ui::widgets::TopBar top_bar; // Shared header + lv_obj_t* root = nullptr; + lv_obj_t* header = nullptr; + lv_obj_t* menu = nullptr; + lv_obj_t* page = nullptr; + lv_obj_t* map = nullptr; + lv_obj_t* resolution_label = nullptr; // Resolution display label (bottom-left) + lv_obj_t* panel = nullptr; + lv_obj_t* member_panel = nullptr; + lv_obj_t* zoom = nullptr; + lv_obj_t* pos = nullptr; + lv_obj_t* pan_h = nullptr; // Horizontal pan button + lv_obj_t* pan_v = nullptr; // Vertical pan button + lv_obj_t* tracker_btn = nullptr; // Tracker button + lv_obj_t* pan_h_indicator = nullptr; // Horizontal pan indicator (line with arrows at bottom) + lv_obj_t* pan_v_indicator = nullptr; // Vertical pan indicator (line with arrows on right) + lv_obj_t* popup_label = nullptr; // zoom_popup_label + lv_obj_t* loading_msgbox = nullptr; + lv_obj_t* toast_msgbox = nullptr; // Toast notification message box + lv_timer_t* toast_timer = nullptr; // Timer to auto-hide toast + lv_obj_t* gps_marker = nullptr; // GPS position marker (rendered on map) + ui::widgets::TopBar top_bar; // Shared header - // GPS/map int zoom_level = gps_ui::kDefaultZoom; double lat = 0.0; @@ -57,35 +58,35 @@ struct GPSPageState { bool has_fix = false; int pan_x = 0; int pan_y = 0; - + // tile/cache (actual storage, not pointers) MapAnchor anchor = {0}; std::vector tiles; - TileContext tile_ctx; // Context for tile operations - + TileContext tile_ctx; // Context for tile operations + uint32_t initial_load_ms = 0; bool initial_tiles_loaded = false; - + // popup Modal zoom_modal; Modal tracker_modal; int popup_zoom = gps_ui::kDefaultZoom; bool zoom_win_cb_bound = false; - + // misc - lv_timer_t* timer = nullptr; // Main timer for tile loading and GPS updates - lv_timer_t* loader_timer = nullptr; // Tile loader timer (higher frequency) + lv_timer_t* timer = nullptr; // Main timer for tile loading and GPS updates + lv_timer_t* loader_timer = nullptr; // Tile loader timer (higher frequency) lv_timer_t* title_timer = nullptr; // Separate timer for title updates (30s) - std::vector timers; // Lifetime-managed timers for this screen + std::vector timers; // Lifetime-managed timers for this screen lv_indev_t* encoder = nullptr; - lv_group_t* app_group = nullptr; // App-level focus group captured at enter + lv_group_t* app_group = nullptr; // App-level focus group captured at enter // flags - bool alive = false; // Hard lifetime guard: false after root delete hook runs - bool delete_hook_bound = false; // Ensure root delete hook is only bound once - bool exiting = false; // Prevent re-entrant exit while async exit is pending - bool has_map_data = false; // Global: any tile ever loaded - bool has_visible_map_data = false; // Viewport: current visible tiles have PNG + bool alive = false; // Hard lifetime guard: false after root delete hook runs + bool delete_hook_bound = false; // Ensure root delete hook is only bound once + bool exiting = false; // Prevent re-entrant exit while async exit is pending + bool has_map_data = false; // Global: any tile ever loaded + bool has_visible_map_data = false; // Viewport: current visible tiles have PNG // Tracker overlay bool tracker_overlay_active = false; @@ -112,18 +113,18 @@ struct GPSPageState { }; std::vector team_markers; uint32_t team_marker_last_ms = 0; - + // pan button editing state (for toggle behavior) - DEPRECATED, use edit_mode instead - bool pan_h_editing = false; // Horizontal pan button in editing mode (rotary scrolls map) - bool pan_v_editing = false; // Vertical pan button in editing mode (rotary scrolls map) - + bool pan_h_editing = false; // Horizontal pan button in editing mode (rotary scrolls map) + bool pan_v_editing = false; // Vertical pan button in editing mode (rotary scrolls map) + // Edit mode state machine - uint8_t edit_mode = 0; // 0=None, 1=PanH, 2=PanV, 3=ZoomPopup - + uint8_t edit_mode = 0; // 0=None, 1=PanH, 2=PanV, 3=ZoomPopup + // refresh optimization - bool pending_refresh = false; // Flag to indicate map needs refresh (for batched updates) - double last_resolution_lat = 0.0; // Last latitude used for resolution calculation - int last_resolution_zoom = -1; // Last zoom level used for resolution calculation + bool pending_refresh = false; // Flag to indicate map needs refresh (for batched updates) + double last_resolution_lat = 0.0; // Last latitude used for resolution calculation + int last_resolution_zoom = -1; // Last zoom level used for resolution calculation }; // Global state instance (defined in gps_page.cpp) diff --git a/src/ui/screens/gps/gps_tracker_overlay.cpp b/src/ui/screens/gps/gps_tracker_overlay.cpp index 3be5ca0a..c61c478c 100644 --- a/src/ui/screens/gps/gps_tracker_overlay.cpp +++ b/src/ui/screens/gps/gps_tracker_overlay.cpp @@ -1,18 +1,18 @@ #include "gps_tracker_overlay.h" -#include "gps_modal.h" -#include "gps_page_map.h" -#include "gps_page_lifetime.h" -#include "gps_page_styles.h" -#include "gps_state.h" #include "../../../gps/gps_service_api.h" #include "../../ui_common.h" #include "../../widgets/map/map_tiles.h" +#include "gps_modal.h" +#include "gps_page_lifetime.h" +#include "gps_page_map.h" +#include "gps_page_styles.h" +#include "gps_state.h" #include -#include #include #include +#include #include // Implemented in gps_page_components.cpp @@ -146,7 +146,8 @@ bool load_gpx_points(const char* path, int zoom, std::vector #include "settings_page_input.h" #include "settings_state.h" +#include -namespace settings::ui::input { +namespace settings::ui::input +{ -namespace { +namespace +{ -enum class FocusColumn { +enum class FocusColumn +{ Filter = 0, List = 1, }; @@ -23,8 +26,10 @@ static FocusColumn s_col = FocusColumn::Filter; static lv_indev_t* find_encoder_indev() { lv_indev_t* indev = nullptr; - while ((indev = lv_indev_get_next(indev)) != nullptr) { - if (lv_indev_get_type(indev) == LV_INDEV_TYPE_ENCODER) { + while ((indev = lv_indev_get_next(indev)) != nullptr) + { + if (lv_indev_get_type(indev) == LV_INDEV_TYPE_ENCODER) + { return indev; } } @@ -54,19 +59,25 @@ static void bind_filter_column() if (!s_group) return; group_clear_all(s_group); - if (g_state.top_bar.back_btn) { + if (g_state.top_bar.back_btn) + { lv_group_add_obj(s_group, g_state.top_bar.back_btn); } - for (size_t i = 0; i < g_state.filter_count; ++i) { - if (g_state.filter_buttons[i]) { + for (size_t i = 0; i < g_state.filter_count; ++i) + { + if (g_state.filter_buttons[i]) + { lv_group_add_obj(s_group, g_state.filter_buttons[i]); } } - if (g_state.filter_buttons[g_state.current_category]) { + if (g_state.filter_buttons[g_state.current_category]) + { focus_first_valid(g_state.filter_buttons[g_state.current_category]); - } else if (g_state.top_bar.back_btn) { + } + else if (g_state.top_bar.back_btn) + { focus_first_valid(g_state.top_bar.back_btn); } } @@ -76,29 +87,40 @@ static void bind_list_column() if (!s_group) return; group_clear_all(s_group); - for (size_t i = 0; i < g_state.item_count; ++i) { - if (g_state.item_widgets[i].btn) { + for (size_t i = 0; i < g_state.item_count; ++i) + { + if (g_state.item_widgets[i].btn) + { lv_group_add_obj(s_group, g_state.item_widgets[i].btn); } } - if (g_state.list_back_btn) { + if (g_state.list_back_btn) + { lv_group_add_obj(s_group, g_state.list_back_btn); } - if (g_state.item_count > 0 && g_state.item_widgets[0].btn) { + if (g_state.item_count > 0 && g_state.item_widgets[0].btn) + { focus_first_valid(g_state.item_widgets[0].btn); - } else if (g_state.list_back_btn) { + } + else if (g_state.list_back_btn) + { focus_first_valid(g_state.list_back_btn); - } else if (g_state.top_bar.back_btn) { + } + else if (g_state.top_bar.back_btn) + { focus_first_valid(g_state.top_bar.back_btn); } } static void rebind_by_column() { - if (s_col == FocusColumn::Filter) { + if (s_col == FocusColumn::Filter) + { bind_filter_column(); - } else { + } + else + { bind_list_column(); } } @@ -108,22 +130,26 @@ static void root_key_event_cb(lv_event_t* e) if (!is_encoder_active()) return; uint32_t key = lv_event_get_key(e); - if (key == LV_KEY_ESC || key == LV_KEY_BACKSPACE) { + if (key == LV_KEY_ESC || key == LV_KEY_BACKSPACE) + { s_col = FocusColumn::Filter; rebind_by_column(); return; } if (key != LV_KEY_ENTER) return; - if (s_col == FocusColumn::Filter) { + if (s_col == FocusColumn::Filter) + { s_col = FocusColumn::List; rebind_by_column(); return; } - if (s_col == FocusColumn::List) { + if (s_col == FocusColumn::List) + { lv_obj_t* focused = s_group ? lv_group_get_focused(s_group) : nullptr; - if (focused == g_state.list_back_btn) { + if (focused == g_state.list_back_btn) + { s_col = FocusColumn::Filter; rebind_by_column(); return; @@ -135,27 +161,32 @@ static void root_key_event_cb(lv_event_t* e) void init() { - if (s_group) { + if (s_group) + { cleanup(); } s_group = lv_group_create(); s_encoder = find_encoder_indev(); - if (s_encoder) { + if (s_encoder) + { lv_indev_set_group(s_encoder, s_group); } s_col = FocusColumn::Filter; rebind_by_column(); lv_obj_t* key_target = g_state.root ? g_state.root : g_state.list_panel; - if (key_target) { + if (key_target) + { lv_obj_add_event_cb(key_target, root_key_event_cb, LV_EVENT_KEY, nullptr); } } void cleanup() { - if (s_group) { - if (s_encoder && lv_indev_get_group(s_encoder) == s_group) { + if (s_group) + { + if (s_encoder && lv_indev_get_group(s_encoder) == s_group) + { lv_indev_set_group(s_encoder, nullptr); } lv_group_del(s_group); diff --git a/src/ui/screens/settings/settings_page_input.h b/src/ui/screens/settings/settings_page_input.h index bf380ffc..00ae0390 100644 --- a/src/ui/screens/settings/settings_page_input.h +++ b/src/ui/screens/settings/settings_page_input.h @@ -7,7 +7,8 @@ #include "lvgl.h" -namespace settings::ui::input { +namespace settings::ui::input +{ void init(); void cleanup(); diff --git a/src/ui/screens/settings/settings_page_layout.cpp b/src/ui/screens/settings/settings_page_layout.cpp index 7ee0633b..ca357ba2 100644 --- a/src/ui/screens/settings/settings_page_layout.cpp +++ b/src/ui/screens/settings/settings_page_layout.cpp @@ -4,11 +4,12 @@ */ #include "settings_page_layout.h" -#include "settings_state.h" -#include "settings_page_styles.h" #include "../../ui_common.h" +#include "settings_page_styles.h" +#include "settings_state.h" -namespace settings::ui::layout { +namespace settings::ui::layout +{ static constexpr int kFilterPanelWidth = 120; static constexpr int kTopBarContentGap = 3; diff --git a/src/ui/screens/settings/settings_page_layout.h b/src/ui/screens/settings/settings_page_layout.h index b161f781..bea99ea0 100644 --- a/src/ui/screens/settings/settings_page_layout.h +++ b/src/ui/screens/settings/settings_page_layout.h @@ -7,7 +7,8 @@ #include "lvgl.h" -namespace settings::ui::layout { +namespace settings::ui::layout +{ lv_obj_t* create_root(lv_obj_t* parent); lv_obj_t* create_header(lv_obj_t* root, void (*back_callback)(void*), void* user_data); diff --git a/src/ui/screens/settings/settings_page_styles.cpp b/src/ui/screens/settings/settings_page_styles.cpp index 9be79b00..d1298afe 100644 --- a/src/ui/screens/settings/settings_page_styles.cpp +++ b/src/ui/screens/settings/settings_page_styles.cpp @@ -5,7 +5,8 @@ #include "settings_page_styles.h" -namespace settings::ui::style { +namespace settings::ui::style +{ static constexpr uint32_t kPrimary = 0xEBA341; static constexpr uint32_t kPrimaryLight = 0xF1B65A; diff --git a/src/ui/screens/settings/settings_page_styles.h b/src/ui/screens/settings/settings_page_styles.h index be1a43c2..080dd077 100644 --- a/src/ui/screens/settings/settings_page_styles.h +++ b/src/ui/screens/settings/settings_page_styles.h @@ -7,7 +7,8 @@ #include "lvgl.h" -namespace settings::ui::style { +namespace settings::ui::style +{ void init_once(); diff --git a/src/ui/screens/settings/settings_state.cpp b/src/ui/screens/settings/settings_state.cpp index ef9185dc..1cdb7856 100644 --- a/src/ui/screens/settings/settings_state.cpp +++ b/src/ui/screens/settings/settings_state.cpp @@ -5,9 +5,10 @@ #include "settings_state.h" -namespace settings::ui { +namespace settings::ui +{ -SettingsData g_settings {}; -UiState g_state {}; +SettingsData g_settings{}; +UiState g_state{}; } // namespace settings::ui diff --git a/src/ui/screens/team/team_page_components.cpp b/src/ui/screens/team/team_page_components.cpp index 2799d088..17f082e1 100644 --- a/src/ui/screens/team/team_page_components.cpp +++ b/src/ui/screens/team/team_page_components.cpp @@ -4,27 +4,27 @@ */ #include "team_page_components.h" -#include "team_page_layout.h" -#include "team_page_styles.h" -#include "team_page_input.h" -#include "team_state.h" -#include "team_ui_store.h" -#include "../../ui_common.h" #include "../../../app/app_context.h" +#include "../../../sys/event_bus.h" +#include "../../../team/infra/nfc/team_nfc.h" #include "../../../team/protocol/team_mgmt.h" #include "../../../team/usecase/team_service.h" -#include "../../../team/infra/nfc/team_nfc.h" -#include "../../../sys/event_bus.h" +#include "../../ui_common.h" #include "../../widgets/system_notification.h" #include "meshtastic/mesh.pb.h" #include "pb_decode.h" +#include "team_page_input.h" +#include "team_page_layout.h" +#include "team_page_styles.h" +#include "team_state.h" +#include "team_ui_store.h" #include -#include -#include #include #include #include +#include +#include namespace team { @@ -174,7 +174,8 @@ void mark_keydist_confirmed(uint32_t node_id, uint32_t key_id) { s_keydist_pending.erase( std::remove_if(s_keydist_pending.begin(), s_keydist_pending.end(), - [&](const KeyDistPending& item) { + [&](const KeyDistPending& item) + { return item.node_id == node_id && item.key_id == key_id; }), s_keydist_pending.end()); @@ -198,7 +199,7 @@ void process_keydist_retries() return; } - for (auto it = s_keydist_pending.begin(); it != s_keydist_pending.end(); ) + for (auto it = s_keydist_pending.begin(); it != s_keydist_pending.end();) { if (now < it->next_retry_s) { @@ -624,7 +625,6 @@ std::string format_signal(uint8_t bars) return std::string(buf); } - std::string format_invite_code(const std::string& code) { if (code.empty()) @@ -649,7 +649,8 @@ std::string generate_invite_code() { static const char kAlphabet[] = "ABCDEFGHJKLMNPQRSTUVWXYZ23456789"; constexpr size_t kAlphaLen = sizeof(kAlphabet) - 1; - auto pick = []() { + auto pick = []() + { return kAlphabet[random(0, kAlphaLen)]; }; std::string code; @@ -1030,7 +1031,9 @@ void handle_team_join_request(const team::TeamJoinRequestEvent& ev) lv_obj_t* accept_label = lv_label_create(accept_btn); lv_label_set_text(accept_label, "Accept"); lv_obj_center(accept_label); - lv_obj_add_event_cb(accept_btn, [](lv_event_t*) { + lv_obj_add_event_cb( + accept_btn, [](lv_event_t*) + { app::AppContext& app_ctx = app::AppContext::getInstance(); team::TeamController* controller = app_ctx.getTeamController(); if (controller) @@ -1169,8 +1172,8 @@ void handle_team_join_request(const team::TeamJoinRequestEvent& ev) touch_member(g_team_state.pending_join_node_id, now_secs()); g_team_state.last_update_s = now_secs(); save_state_to_store(); - close_join_request_modal(); - }, LV_EVENT_CLICKED, nullptr); + close_join_request_modal(); }, + LV_EVENT_CLICKED, nullptr); lv_obj_t* reject_btn = lv_btn_create(btn_row); lv_obj_set_size(reject_btn, 90, 32); @@ -1178,7 +1181,9 @@ void handle_team_join_request(const team::TeamJoinRequestEvent& ev) lv_obj_t* reject_label = lv_label_create(reject_btn); lv_label_set_text(reject_label, "Reject"); lv_obj_center(reject_label); - lv_obj_add_event_cb(reject_btn, [](lv_event_t*) { + lv_obj_add_event_cb( + reject_btn, [](lv_event_t*) + { app::AppContext& app_ctx = app::AppContext::getInstance(); team::TeamController* controller = app_ctx.getTeamController(); if (controller) @@ -1193,8 +1198,8 @@ void handle_team_join_request(const team::TeamJoinRequestEvent& ev) notify_send_failed("Decision", false); } } - close_join_request_modal(); - }, LV_EVENT_CLICKED, nullptr); + close_join_request_modal(); }, + LV_EVENT_CLICKED, nullptr); lv_group_add_obj(g_team_state.modal_group, accept_btn); lv_group_add_obj(g_team_state.modal_group, reject_btn); @@ -1383,21 +1388,21 @@ void handle_team_status(const team::TeamStatusEvent& ev) { g_team_state.security_round = ev.ctx.key_id; } - if (ev.msg.key_id != 0) + if (ev.msg.key_id != 0) + { + if (ev.msg.key_id > g_team_state.security_round) { - if (ev.msg.key_id > g_team_state.security_round) - { - g_team_state.waiting_new_keys = true; - } - else if (ev.msg.key_id == g_team_state.security_round) - { - g_team_state.waiting_new_keys = false; - } - if (ev.ctx.from != 0) - { - mark_keydist_confirmed(ev.ctx.from, ev.msg.key_id); - } + g_team_state.waiting_new_keys = true; } + else if (ev.msg.key_id == g_team_state.security_round) + { + g_team_state.waiting_new_keys = false; + } + if (ev.ctx.from != 0) + { + mark_keydist_confirmed(ev.ctx.from, ev.msg.key_id); + } + } if (ev.msg.key_id != 0 && ev.msg.key_id > prev_round) { std::vector payload; @@ -1713,7 +1718,7 @@ void handle_create(lv_event_t*) { for (size_t i = 0; i < g_team_state.team_psk.size(); ++i) { - g_team_state.team_psk[i] = static_cast(random(0, 256)); + g_team_state.team_psk[i] = static_cast(random(0, 256)); } g_team_state.has_team_psk = true; } @@ -1891,9 +1896,10 @@ void handle_leave(lv_event_t*) lv_obj_t* cancel_label = lv_label_create(cancel_btn); lv_label_set_text(cancel_label, "Cancel"); lv_obj_center(cancel_label); - lv_obj_add_event_cb(cancel_btn, [](lv_event_t*) { - close_leave_confirm_modal(); - }, LV_EVENT_CLICKED, nullptr); + lv_obj_add_event_cb( + cancel_btn, [](lv_event_t*) + { close_leave_confirm_modal(); }, + LV_EVENT_CLICKED, nullptr); lv_obj_t* leave_btn = lv_btn_create(btn_row); lv_obj_set_size(leave_btn, 90, 32); @@ -1901,10 +1907,12 @@ void handle_leave(lv_event_t*) lv_obj_t* leave_label = lv_label_create(leave_btn); lv_label_set_text(leave_label, "Leave"); lv_obj_center(leave_label); - lv_obj_add_event_cb(leave_btn, [](lv_event_t*) { + lv_obj_add_event_cb( + leave_btn, [](lv_event_t*) + { close_leave_confirm_modal(); - perform_leave(); - }, LV_EVENT_CLICKED, nullptr); + perform_leave(); }, + LV_EVENT_CLICKED, nullptr); lv_group_add_obj(g_team_state.modal_group, cancel_btn); lv_group_add_obj(g_team_state.modal_group, leave_btn); @@ -2275,7 +2283,6 @@ void handle_join_cancel(lv_event_t*) nav_back(); } - void handle_join_retry(lv_event_t*) { handle_join_enter_code(nullptr); diff --git a/src/ui/screens/team/team_page_input.cpp b/src/ui/screens/team/team_page_input.cpp index 2d61cc10..84af09a4 100644 --- a/src/ui/screens/team/team_page_input.cpp +++ b/src/ui/screens/team/team_page_input.cpp @@ -3,11 +3,11 @@ * @brief Team page input handling */ -#include #include "team_page_input.h" -#include "team_state.h" -#include "../../ui_common.h" #include "../../../app/app_context.h" +#include "../../ui_common.h" +#include "team_state.h" +#include extern lv_group_t* app_g; diff --git a/src/ui/screens/team/team_page_styles.cpp b/src/ui/screens/team/team_page_styles.cpp index 9d27e9f7..ac9d07e4 100644 --- a/src/ui/screens/team/team_page_styles.cpp +++ b/src/ui/screens/team/team_page_styles.cpp @@ -13,12 +13,12 @@ namespace style { namespace { -static constexpr uint32_t kBtnBg = 0xF4C77A; -static constexpr uint32_t kBtnBgFoc = 0xEBA341; +static constexpr uint32_t kBtnBg = 0xF4C77A; +static constexpr uint32_t kBtnBgFoc = 0xEBA341; static constexpr uint32_t kBtnBorder = 0xEBA341; -static constexpr uint32_t kTextMain = 0x202020; -static constexpr uint32_t kTextSub = 0x4A4A4A; -static constexpr uint32_t kListBg = 0xFFFFFF; +static constexpr uint32_t kTextMain = 0x202020; +static constexpr uint32_t kTextSub = 0x4A4A4A; +static constexpr uint32_t kListBg = 0xFFFFFF; static constexpr uint32_t kListBorder = 0xD2D2D2; static lv_style_t s_root; diff --git a/src/ui/screens/team/team_state.h b/src/ui/screens/team/team_state.h index 057bb235..15be52b7 100644 --- a/src/ui/screens/team/team_state.h +++ b/src/ui/screens/team/team_state.h @@ -5,13 +5,13 @@ #pragma once -#include "lvgl.h" -#include "../../widgets/top_bar.h" #include "../../../team/domain/team_types.h" #include "../../../team/protocol/team_mgmt.h" +#include "../../widgets/top_bar.h" +#include "lvgl.h" +#include #include #include -#include namespace team { @@ -99,8 +99,8 @@ struct TeamPageState lv_obj_t* body = nullptr; lv_obj_t* actions = nullptr; - lv_obj_t* action_btns[3] = { nullptr, nullptr, nullptr }; - lv_obj_t* action_labels[3] = { nullptr, nullptr, nullptr }; + lv_obj_t* action_btns[3] = {nullptr, nullptr, nullptr}; + lv_obj_t* action_labels[3] = {nullptr, nullptr, nullptr}; lv_obj_t* detail_label = nullptr; std::vector list_items; diff --git a/src/ui/screens/team/team_ui_store.cpp b/src/ui/screens/team/team_ui_store.cpp index 3cf2ea6f..69d7fbd9 100644 --- a/src/ui/screens/team/team_ui_store.cpp +++ b/src/ui/screens/team/team_ui_store.cpp @@ -7,11 +7,11 @@ #include #include -#include -#include -#include -#include #include +#include +#include +#include +#include namespace team { @@ -218,8 +218,7 @@ void write_u16(File& f, uint16_t v) { uint8_t b[2] = { static_cast(v & 0xFF), - static_cast((v >> 8) & 0xFF) - }; + static_cast((v >> 8) & 0xFF)}; f.write(b, 2); } @@ -1243,7 +1242,8 @@ bool team_ui_posring_load_latest(const TeamId& team_id, sample.ts = ts; auto it = std::find_if(out.begin(), out.end(), - [&](const TeamPosSample& s) { return s.member_id == member_id; }); + [&](const TeamPosSample& s) + { return s.member_id == member_id; }); if (it == out.end()) { out.push_back(sample); diff --git a/src/ui/screens/team/team_ui_store.h b/src/ui/screens/team/team_ui_store.h index d3fb1839..3962e115 100644 --- a/src/ui/screens/team/team_ui_store.h +++ b/src/ui/screens/team/team_ui_store.h @@ -5,8 +5,8 @@ #pragma once -#include "team_state.h" #include "../../../team/protocol/team_chat.h" +#include "team_state.h" #include namespace team diff --git a/src/ui/screens/tracker/tracker_page_components.cpp b/src/ui/screens/tracker/tracker_page_components.cpp index b0b83b21..98fe4a10 100644 --- a/src/ui/screens/tracker/tracker_page_components.cpp +++ b/src/ui/screens/tracker/tracker_page_components.cpp @@ -1,11 +1,11 @@ #include +#include "../../../gps/usecase/track_recorder.h" +#include "../../ui_common.h" #include "tracker_page_components.h" +#include "tracker_page_input.h" #include "tracker_page_layout.h" #include "tracker_state.h" -#include "tracker_page_input.h" -#include "../../ui_common.h" -#include "../../../gps/usecase/track_recorder.h" #include @@ -53,7 +53,8 @@ void refresh_track_list() for (size_t i = 0; i < count; ++i) { lv_obj_t* btn = lv_list_add_btn(state.list, LV_SYMBOL_FILE, names[i].c_str()); - lv_obj_add_event_cb(btn, [](lv_event_t*) {}, LV_EVENT_CLICKED, nullptr); + lv_obj_add_event_cb( + btn, [](lv_event_t*) {}, LV_EVENT_CLICKED, nullptr); } } diff --git a/src/ui/screens/tracker/tracker_page_components.h b/src/ui/screens/tracker/tracker_page_components.h index 8aac6c41..4bcba4f4 100644 --- a/src/ui/screens/tracker/tracker_page_components.h +++ b/src/ui/screens/tracker/tracker_page_components.h @@ -16,4 +16,3 @@ void refresh_page(); } // namespace components } // namespace ui } // namespace tracker - diff --git a/src/ui/screens/tracker/tracker_page_input.cpp b/src/ui/screens/tracker/tracker_page_input.cpp index 4b64791f..703e1ba5 100644 --- a/src/ui/screens/tracker/tracker_page_input.cpp +++ b/src/ui/screens/tracker/tracker_page_input.cpp @@ -33,4 +33,3 @@ void bind_focus(lv_group_t* group) } // namespace input } // namespace ui } // namespace tracker - diff --git a/src/ui/screens/tracker/tracker_page_input.h b/src/ui/screens/tracker/tracker_page_input.h index 8f6e9ee6..b22606fa 100644 --- a/src/ui/screens/tracker/tracker_page_input.h +++ b/src/ui/screens/tracker/tracker_page_input.h @@ -14,4 +14,3 @@ void bind_focus(lv_group_t* group); } // namespace input } // namespace ui } // namespace tracker - diff --git a/src/ui/screens/tracker/tracker_page_layout.cpp b/src/ui/screens/tracker/tracker_page_layout.cpp index 1b30fa05..386d5166 100644 --- a/src/ui/screens/tracker/tracker_page_layout.cpp +++ b/src/ui/screens/tracker/tracker_page_layout.cpp @@ -9,8 +9,8 @@ */ #include "tracker_page_layout.h" -#include "tracker_state.h" #include "../../widgets/top_bar.h" +#include "tracker_state.h" namespace tracker { diff --git a/src/ui/screens/tracker/tracker_page_layout.h b/src/ui/screens/tracker/tracker_page_layout.h index 5690efd2..7c48259b 100644 --- a/src/ui/screens/tracker/tracker_page_layout.h +++ b/src/ui/screens/tracker/tracker_page_layout.h @@ -18,4 +18,3 @@ lv_obj_t* create_list(lv_obj_t* content); } // namespace layout } // namespace ui } // namespace tracker - diff --git a/src/ui/screens/tracker/tracker_state.cpp b/src/ui/screens/tracker/tracker_state.cpp index 1ffac03c..d318e056 100644 --- a/src/ui/screens/tracker/tracker_state.cpp +++ b/src/ui/screens/tracker/tracker_state.cpp @@ -9,4 +9,3 @@ TrackerPageState g_tracker_state{}; } // namespace ui } // namespace tracker - diff --git a/src/ui/screens/tracker/tracker_state.h b/src/ui/screens/tracker/tracker_state.h index f6abea7d..d5d5e988 100644 --- a/src/ui/screens/tracker/tracker_state.h +++ b/src/ui/screens/tracker/tracker_state.h @@ -1,7 +1,7 @@ #pragma once -#include "lvgl.h" #include "../../widgets/top_bar.h" +#include "lvgl.h" namespace tracker { @@ -24,4 +24,3 @@ extern TrackerPageState g_tracker_state; } // namespace ui } // namespace tracker - diff --git a/src/ui/ui_chat.cpp b/src/ui/ui_chat.cpp index 2665d672..180d8150 100644 --- a/src/ui/ui_chat.cpp +++ b/src/ui/ui_chat.cpp @@ -3,12 +3,12 @@ * @brief Chat interface implementation */ -#include "ui_common.h" #include "../app/app_context.h" #include "../ui/ui_controller.h" +#include "ui_common.h" #include -static lv_obj_t *chat_container = NULL; +static lv_obj_t* chat_container = NULL; static std::unique_ptr ui_controller = nullptr; lv_obj_t* ui_chat_get_container() @@ -16,27 +16,30 @@ lv_obj_t* ui_chat_get_container() return chat_container; } -static void back_event_handler(lv_event_t *e) +static void back_event_handler(lv_event_t* e) { - lv_obj_t *obj = (lv_obj_t *)lv_event_get_target(e); - if (obj == chat_container || lv_obj_get_parent(obj) == chat_container) { + lv_obj_t* obj = (lv_obj_t*)lv_event_get_target(e); + if (obj == chat_container || lv_obj_get_parent(obj) == chat_container) + { ui_request_exit_to_menu(); } } -void ui_chat_enter(lv_obj_t *parent) +void ui_chat_enter(lv_obj_t* parent) { // Get app context app::AppContext& ctx = app::AppContext::getInstance(); - extern lv_group_t *app_g; - if (app_g != NULL) { + extern lv_group_t* app_g; + if (app_g != NULL) + { set_default_group(app_g); } - + Serial.printf("[UI Chat] enter: parent=%p active=%p\n", parent, lv_screen_active()); - if (lv_obj_t* active = lv_screen_active()) { + if (lv_obj_t* active = lv_screen_active()) + { Serial.printf("[UI Chat] active child count=%u\n", (unsigned)lv_obj_get_child_cnt(active)); } @@ -49,11 +52,12 @@ void ui_chat_enter(lv_obj_t *parent) lv_obj_set_style_border_width(chat_container, 0, 0); lv_obj_set_style_pad_all(chat_container, 0, 0); lv_obj_set_style_radius(chat_container, 0, 0); - + Serial.printf("[UI Chat] container=%p valid=%d\n", chat_container, chat_container ? (lv_obj_is_valid(chat_container) ? 1 : 0) : 0); - if (chat_container) { + if (chat_container) + { Serial.printf("[UI Chat] container child count=%u\n", (unsigned)lv_obj_get_child_cnt(chat_container)); } @@ -62,21 +66,23 @@ void ui_chat_enter(lv_obj_t *parent) ui_controller = std::unique_ptr( new chat::ui::UiController(chat_container, ctx.getChatService())); ui_controller->init(); - + // Store in context (for access from main loop) // Note: This is a simplified approach. In a full implementation, // the UI controller would be managed by AppContext. } -void ui_chat_exit(lv_obj_t *parent) +void ui_chat_exit(lv_obj_t* parent) { Serial.printf("[UI Chat] exit: parent=%p container=%p\n", parent, chat_container); - if (lv_obj_t* active = lv_screen_active()) { + if (lv_obj_t* active = lv_screen_active()) + { Serial.printf("[UI Chat] exit active child count=%u\n", (unsigned)lv_obj_get_child_cnt(active)); } - if (chat_container && lv_obj_is_valid(chat_container)) { + if (chat_container && lv_obj_is_valid(chat_container)) + { Serial.printf("[UI Chat] exit container child count=%u\n", (unsigned)lv_obj_get_child_cnt(chat_container)); } @@ -84,12 +90,13 @@ void ui_chat_exit(lv_obj_t *parent) // Destroy controller first so child screens can clean up safely. ui_controller.reset(); - if (chat_container && !lv_obj_is_valid(chat_container)) { + if (chat_container && !lv_obj_is_valid(chat_container)) + { chat_container = NULL; } - if (chat_container) { + if (chat_container) + { lv_obj_del(chat_container); chat_container = NULL; } - } diff --git a/src/ui/ui_common.cpp b/src/ui/ui_common.cpp index c3348e54..32b80950 100644 --- a/src/ui/ui_common.cpp +++ b/src/ui/ui_common.cpp @@ -10,15 +10,16 @@ extern "C" lv_draw_buf_t* lv_snapshot_take(lv_obj_t* obj, lv_color_format_t cf); extern "C" void lv_draw_buf_destroy(lv_draw_buf_t* draw_buf); #endif +#include #include #include #include #include -#include -extern BoardBase &board; +extern BoardBase& board; -namespace { +namespace +{ constexpr const char* kPrefsNs = "settings_v2"; constexpr const char* kTimezoneKey = "timezone_offset"; @@ -30,21 +31,26 @@ lv_timer_t* s_exit_timer = nullptr; constexpr uint32_t kExitDelayMs = 120; } // namespace -void set_default_group(lv_group_t *group) +void set_default_group(lv_group_t* group) { - lv_indev_t *cur_drv = NULL; - for (;;) { + lv_indev_t* cur_drv = NULL; + for (;;) + { cur_drv = lv_indev_get_next(cur_drv); - if (!cur_drv) { + if (!cur_drv) + { break; } - if (lv_indev_get_type(cur_drv) == LV_INDEV_TYPE_KEYPAD) { + if (lv_indev_get_type(cur_drv) == LV_INDEV_TYPE_KEYPAD) + { lv_indev_set_group(cur_drv, group); } - if (lv_indev_get_type(cur_drv) == LV_INDEV_TYPE_ENCODER) { + if (lv_indev_get_type(cur_drv) == LV_INDEV_TYPE_ENCODER) + { lv_indev_set_group(cur_drv, group); } - if (lv_indev_get_type(cur_drv) == LV_INDEV_TYPE_POINTER) { + if (lv_indev_get_type(cur_drv) == LV_INDEV_TYPE_POINTER) + { lv_indev_set_group(cur_drv, group); } } @@ -70,13 +76,16 @@ void ui_clear_active_app() void ui_switch_to_app(AppScreen* app, lv_obj_t* parent) { - if (s_pending_exit == app) { + if (s_pending_exit == app) + { s_pending_exit = nullptr; } - if (s_active_app && s_active_app != app) { + if (s_active_app && s_active_app != app) + { s_active_app->exit(parent); } - if (app) { + if (app) + { app->enter(parent); } s_active_app = app; @@ -84,31 +93,37 @@ void ui_switch_to_app(AppScreen* app, lv_obj_t* parent) void ui_exit_active_app(lv_obj_t* parent) { - if (s_active_app) { + if (s_active_app) + { s_active_app->exit(parent); } s_active_app = nullptr; } -namespace { +namespace +{ void exit_to_menu_timer_cb(lv_timer_t* timer) { auto* app = static_cast(timer ? timer->user_data : nullptr); - if (timer) { + if (timer) + { lv_timer_del(timer); } s_exit_timer = nullptr; - if (!app || s_pending_exit != app) { + if (!app || s_pending_exit != app) + { return; } s_pending_exit = nullptr; - if (main_screen == nullptr) { + if (main_screen == nullptr) + { app->exit(nullptr); return; } lv_obj_t* parent = lv_obj_get_child(main_screen, 1); app->exit(parent); - if (menu_g) { + if (menu_g) + { set_default_group(menu_g); lv_group_set_editing(menu_g, false); } @@ -119,26 +134,30 @@ void ui_request_exit_to_menu() { AppScreen* app = s_active_app; menu_show(); - if (app == nullptr) { + if (app == nullptr) + { return; } - if (s_pending_exit == app) { + if (s_pending_exit == app) + { return; } s_pending_exit = app; - if (s_exit_timer) { + if (s_exit_timer) + { lv_timer_del(s_exit_timer); s_exit_timer = nullptr; } s_exit_timer = lv_timer_create(exit_to_menu_timer_cb, kExitDelayMs, app); - if (s_exit_timer) { + if (s_exit_timer) + { lv_timer_set_repeat_count(s_exit_timer, 1); } } -lv_obj_t *create_menu(lv_obj_t *parent, lv_event_cb_t event_cb) +lv_obj_t* create_menu(lv_obj_t* parent, lv_event_cb_t event_cb) { - lv_obj_t *menu = lv_menu_create(parent); + lv_obj_t* menu = lv_menu_create(parent); lv_menu_set_mode_root_back_button(menu, LV_MENU_ROOT_BACK_BUTTON_ENABLED); lv_obj_add_event_cb(menu, event_cb, LV_EVENT_CLICKED, NULL); lv_obj_set_size(menu, LV_PCT(100), LV_PCT(100)); @@ -149,23 +168,35 @@ lv_obj_t *create_menu(lv_obj_t *parent, lv_event_cb_t event_cb) void ui_format_battery(int level, bool charging, char* out, size_t out_len) { if (!out || out_len == 0) return; - if (level < 0) { + if (level < 0) + { snprintf(out, out_len, "?%%"); return; } const char* symbol; - if (charging) { + if (charging) + { symbol = LV_SYMBOL_CHARGE; - } else if (level >= 90) { + } + else if (level >= 90) + { symbol = LV_SYMBOL_BATTERY_FULL; - } else if (level >= 60) { + } + else if (level >= 60) + { symbol = LV_SYMBOL_BATTERY_3; - } else if (level >= 30) { + } + else if (level >= 30) + { symbol = LV_SYMBOL_BATTERY_2; - } else if (level >= 10) { + } + else if (level >= 10) + { symbol = LV_SYMBOL_BATTERY_1; - } else { + } + else + { symbol = LV_SYMBOL_BATTERY_EMPTY; } snprintf(out, out_len, "%s %d%%", symbol, level); @@ -182,7 +213,8 @@ void ui_update_top_bar_battery(ui::widgets::TopBar& bar) int ui_get_timezone_offset_min() { - if (!s_tz_loaded) { + if (!s_tz_loaded) + { Preferences prefs; prefs.begin(kPrefsNs, true); s_tz_offset_min = prefs.getInt(kTimezoneKey, 0); @@ -200,7 +232,8 @@ void ui_set_timezone_offset_min(int offset_min) time_t ui_apply_timezone_offset(time_t utc_seconds) { - if (utc_seconds <= 0) { + if (utc_seconds <= 0) + { return utc_seconds; } int offset_min = ui_get_timezone_offset_min(); @@ -210,25 +243,30 @@ time_t ui_apply_timezone_offset(time_t utc_seconds) bool ui_take_screenshot_to_sd() { #if LV_USE_SNAPSHOT - if (SD.cardType() == CARD_NONE) { + if (SD.cardType() == CARD_NONE) + { Serial.println("[Screenshot] SD not available"); return false; } - if (!SD.exists("/screen")) { - if (!SD.mkdir("/screen")) { + if (!SD.exists("/screen")) + { + if (!SD.mkdir("/screen")) + { Serial.println("[Screenshot] mkdir /screen failed"); } } lv_obj_t* screen = lv_screen_active(); - if (!screen) { + if (!screen) + { Serial.println("[Screenshot] No active screen"); return false; } lv_draw_buf_t* snap = lv_snapshot_take(screen, LV_COLOR_FORMAT_RGB565); - if (!snap) { + if (!snap) + { Serial.println("[Screenshot] Snapshot failed"); return false; } @@ -236,7 +274,8 @@ bool ui_take_screenshot_to_sd() uint32_t w = snap->header.w; uint32_t h = snap->header.h; uint32_t row_bytes = snap->header.stride; - if (row_bytes == 0) { + if (row_bytes == 0) + { row_bytes = lv_draw_buf_width_to_stride(w, LV_COLOR_FORMAT_RGB565); } uint32_t row24 = (w * 3 + 3) & ~3u; @@ -249,17 +288,21 @@ bool ui_take_screenshot_to_sd() time_t now = time(nullptr); time_t local = ui_apply_timezone_offset(now); struct tm* info = gmtime(&local); - if (info) { + if (info) + { char ts[20]; strftime(ts, sizeof(ts), "%Y%m%d_%H%M%S", info); snprintf(path, sizeof(path), "/screen/screenshot_%s.bmp", ts); - } else { + } + else + { snprintf(path, sizeof(path), "/screen/screenshot_%lu.bmp", static_cast(millis())); } File f = SD.open(path, FILE_WRITE); - if (!f) { + if (!f) + { Serial.printf("[Screenshot] Open failed: %s\n", path); lv_draw_buf_destroy(snap); return false; @@ -276,8 +319,7 @@ bool ui_take_screenshot_to_sd() static_cast(data_offset & 0xFF), static_cast((data_offset >> 8) & 0xFF), static_cast((data_offset >> 16) & 0xFF), - static_cast((data_offset >> 24) & 0xFF) - }; + static_cast((data_offset >> 24) & 0xFF)}; f.write(file_hdr, sizeof(file_hdr)); // BITMAPINFOHEADER (24-bit, no compression) @@ -291,9 +333,9 @@ bool ui_take_screenshot_to_sd() info_hdr[9] = static_cast((h >> 8) & 0xFF); info_hdr[10] = static_cast((h >> 16) & 0xFF); info_hdr[11] = static_cast((h >> 24) & 0xFF); - info_hdr[12] = 1; // planes + info_hdr[12] = 1; // planes info_hdr[14] = 24; // bpp - info_hdr[16] = 0; // BI_RGB + info_hdr[16] = 0; // BI_RGB info_hdr[20] = static_cast(pixel_bytes & 0xFF); info_hdr[21] = static_cast((pixel_bytes >> 8) & 0xFF); info_hdr[22] = static_cast((pixel_bytes >> 16) & 0xFF); @@ -302,11 +344,13 @@ bool ui_take_screenshot_to_sd() const uint8_t* pixels = snap->data; std::vector rowbuf(row24, 0); - for (uint32_t y = 0; y < h; ++y) { + for (uint32_t y = 0; y < h; ++y) + { const uint16_t* row = reinterpret_cast( pixels + (h - 1 - y) * row_bytes); size_t idx = 0; - for (uint32_t x = 0; x < w; ++x) { + for (uint32_t x = 0; x < w; ++x) + { uint16_t px = row[x]; uint8_t r5 = (px >> 11) & 0x1F; uint8_t g6 = (px >> 5) & 0x3F; diff --git a/src/ui/ui_common.h b/src/ui/ui_common.h index 19160606..e1fbac61 100644 --- a/src/ui/ui_common.h +++ b/src/ui/ui_common.h @@ -6,15 +6,15 @@ #ifndef UI_COMMON_H #define UI_COMMON_H -#include "lvgl.h" #include "app_screen.h" +#include "lvgl.h" #include "widgets/top_bar.h" #include // Forward declarations -extern lv_obj_t *main_screen; -extern lv_group_t *menu_g; -extern lv_group_t *app_g; +extern lv_obj_t* main_screen; +extern lv_group_t* menu_g; +extern lv_group_t* app_g; void menu_show(); void ui_clear_active_app(); @@ -22,10 +22,10 @@ AppScreen* ui_get_active_app(); void ui_switch_to_app(AppScreen* app, lv_obj_t* parent); void ui_exit_active_app(lv_obj_t* parent); void ui_request_exit_to_menu(); -void set_default_group(lv_group_t *group); +void set_default_group(lv_group_t* group); // Menu creation helper (simplified version of factory's create_menu) -lv_obj_t *create_menu(lv_obj_t *parent, lv_event_cb_t event_cb); +lv_obj_t* create_menu(lv_obj_t* parent, lv_event_cb_t event_cb); // Battery/status formatting helper used across UI screens (chat, GPS, main menu) void ui_format_battery(int level, bool charging, char* out, size_t out_len); diff --git a/src/ui/ui_contacts.cpp b/src/ui/ui_contacts.cpp index ad48d4e8..6f76217f 100644 --- a/src/ui/ui_contacts.cpp +++ b/src/ui/ui_contacts.cpp @@ -4,15 +4,15 @@ */ #include "ui_contacts.h" -#include "screens/contacts/contacts_state.h" -#include "screens/contacts/contacts_page_components.h" -#include "screens/contacts/contacts_page_layout.h" -#include "screens/contacts/contacts_page_input.h" -#include "screens/chat/chat_compose_components.h" -#include "widgets/top_bar.h" -#include "ui_common.h" #include "../../app/app_context.h" #include "../../chat/domain/chat_types.h" +#include "screens/chat/chat_compose_components.h" +#include "screens/contacts/contacts_page_components.h" +#include "screens/contacts/contacts_page_input.h" +#include "screens/contacts/contacts_page_layout.h" +#include "screens/contacts/contacts_state.h" +#include "ui_common.h" +#include "widgets/top_bar.h" #include #include @@ -27,19 +27,23 @@ using namespace contacts::ui; static void contacts_top_bar_back(void* /*user_data*/) { - if (g_contacts_state.exiting) { + if (g_contacts_state.exiting) + { return; } g_contacts_state.exiting = true; - if (g_contacts_state.refresh_timer != nullptr) { + if (g_contacts_state.refresh_timer != nullptr) + { lv_timer_del(g_contacts_state.refresh_timer); g_contacts_state.refresh_timer = nullptr; } - if (g_contacts_state.conversation_timer != nullptr) { + if (g_contacts_state.conversation_timer != nullptr) + { lv_timer_del(g_contacts_state.conversation_timer); g_contacts_state.conversation_timer = nullptr; } - if (g_contacts_state.root) { + if (g_contacts_state.root) + { lv_obj_add_flag(g_contacts_state.root, LV_OBJ_FLAG_HIDDEN); } ui_request_exit_to_menu(); @@ -50,7 +54,8 @@ void ui_contacts_enter(lv_obj_t* parent) CONTACTS_LOG("[Contacts] Entering Contacts page\n"); // 清理旧状态 - if (g_contacts_state.root != nullptr) { + if (g_contacts_state.root != nullptr) + { lv_obj_del(g_contacts_state.root); g_contacts_state.root = nullptr; } @@ -67,8 +72,7 @@ void ui_contacts_enter(lv_obj_t* parent) lv_obj_t* header = contacts::ui::layout::create_header( g_contacts_state.root, contacts_top_bar_back, - nullptr - ); + nullptr); lv_obj_t* content = contacts::ui::layout::create_content(g_contacts_state.root); g_contacts_state.page = content; @@ -86,14 +90,14 @@ void ui_contacts_enter(lv_obj_t* parent) g_contacts_state.last_action_mode = ContactsMode::Contacts; g_contacts_state.current_page = 0; g_contacts_state.selected_index = -1; - + // Initialize input handling init_contacts_input(); - + // Load data and refresh UI refresh_contacts_data(); refresh_ui(); - + g_contacts_state.initialized = true; CONTACTS_LOG("[Contacts] Contacts page initialized\n"); } @@ -102,9 +106,11 @@ void ui_contacts_exit(lv_obj_t* parent) { (void)parent; CONTACTS_LOG("[Contacts] Exiting Contacts page\n"); - - if (g_contacts_state.compose_screen) { - if (g_contacts_state.compose_ime) { + + if (g_contacts_state.compose_screen) + { + if (g_contacts_state.compose_ime) + { g_contacts_state.compose_ime->detach(); delete g_contacts_state.compose_ime; g_contacts_state.compose_ime = nullptr; @@ -112,28 +118,32 @@ void ui_contacts_exit(lv_obj_t* parent) delete g_contacts_state.compose_screen; g_contacts_state.compose_screen = nullptr; } - if (g_contacts_state.conversation_screen) { + if (g_contacts_state.conversation_screen) + { delete g_contacts_state.conversation_screen; g_contacts_state.conversation_screen = nullptr; } - if (g_contacts_state.conversation_timer != nullptr) { + if (g_contacts_state.conversation_timer != nullptr) + { lv_timer_del(g_contacts_state.conversation_timer); g_contacts_state.conversation_timer = nullptr; } - if (g_contacts_state.refresh_timer != nullptr) { + if (g_contacts_state.refresh_timer != nullptr) + { lv_timer_del(g_contacts_state.refresh_timer); g_contacts_state.refresh_timer = nullptr; } - + cleanup_contacts_input(); cleanup_modals(); - - if (g_contacts_state.root != nullptr) { + + if (g_contacts_state.root != nullptr) + { lv_obj_del(g_contacts_state.root); g_contacts_state.root = nullptr; } - + g_contacts_state = ContactsPageState{}; CONTACTS_LOG("[Contacts] Contacts page cleaned up\n"); } @@ -144,11 +154,14 @@ void refresh_contacts_data_impl() app::AppContext& app_ctx = app::AppContext::getInstance(); chat::contacts::ContactService& contact_service = app_ctx.getContactService(); - auto should_keep = [](const chat::contacts::NodeInfo& node, chat::MeshProtocol protocol) { - if (protocol == chat::MeshProtocol::Meshtastic) { + auto should_keep = [](const chat::contacts::NodeInfo& node, chat::MeshProtocol protocol) + { + if (protocol == chat::MeshProtocol::Meshtastic) + { return node.protocol != chat::contacts::NodeProtocolType::MeshCore; } - if (protocol == chat::MeshProtocol::MeshCore) { + if (protocol == chat::MeshProtocol::MeshCore) + { return node.protocol != chat::contacts::NodeProtocolType::Meshtastic; } return true; @@ -161,7 +174,8 @@ void refresh_contacts_data_impl() std::remove_if( g_contacts_state.contacts_list.begin(), g_contacts_state.contacts_list.end(), - [protocol, &should_keep](const chat::contacts::NodeInfo& node) { + [protocol, &should_keep](const chat::contacts::NodeInfo& node) + { return !should_keep(node, protocol); }), g_contacts_state.contacts_list.end()); @@ -171,7 +185,8 @@ void refresh_contacts_data_impl() std::remove_if( g_contacts_state.nearby_list.begin(), g_contacts_state.nearby_list.end(), - [protocol, &should_keep](const chat::contacts::NodeInfo& node) { + [protocol, &should_keep](const chat::contacts::NodeInfo& node) + { return !should_keep(node, protocol); }), g_contacts_state.nearby_list.end()); diff --git a/src/ui/ui_controller.cpp b/src/ui/ui_controller.cpp index 3ecd655d..114815d5 100644 --- a/src/ui/ui_controller.cpp +++ b/src/ui/ui_controller.cpp @@ -4,13 +4,13 @@ */ #include "ui_controller.h" -#include #include "../../app/app_context.h" -#include "screens/team/team_ui_store.h" -#include "widgets/system_notification.h" -#include "../sys/event_bus.h" -#include "ui_common.h" #include "../gps/gps_service_api.h" +#include "../sys/event_bus.h" +#include "screens/team/team_ui_store.h" +#include "ui_common.h" +#include "widgets/system_notification.h" +#include #include #include @@ -41,7 +41,8 @@ bool isTeamConversationId(const chat::ConversationId& conv) const char* team_command_name(team::proto::TeamCommandType type) { - switch (type) { + switch (type) + { case team::proto::TeamCommandType::RallyTo: return "RallyTo"; case team::proto::TeamCommandType::MoveTo: @@ -55,10 +56,12 @@ const char* team_command_name(team::proto::TeamCommandType type) std::string truncate_text(const std::string& text, size_t max_len) { - if (text.size() <= max_len) { + if (text.size() <= max_len) + { return text; } - if (max_len <= 3) { + if (max_len <= 3) + { return text.substr(0, max_len); } return text.substr(0, max_len - 3) + "..."; @@ -66,48 +69,64 @@ std::string truncate_text(const std::string& text, size_t max_len) std::string format_team_chat_entry(const team::ui::TeamChatLogEntry& entry) { - if (entry.type == team::proto::TeamChatType::Text) { + if (entry.type == team::proto::TeamChatType::Text) + { std::string text(entry.payload.begin(), entry.payload.end()); return truncate_text(text, 160); } - if (entry.type == team::proto::TeamChatType::Location) { + if (entry.type == team::proto::TeamChatType::Location) + { team::proto::TeamChatLocation loc; if (team::proto::decodeTeamChatLocation(entry.payload.data(), entry.payload.size(), - &loc)) { + &loc)) + { double lat = static_cast(loc.lat_e7) / 1e7; double lon = static_cast(loc.lon_e7) / 1e7; char buf[128]; - if (!loc.label.empty()) { + if (!loc.label.empty()) + { snprintf(buf, sizeof(buf), "Location: %s %.5f, %.5f", loc.label.c_str(), lat, lon); - } else { + } + else + { snprintf(buf, sizeof(buf), "Location: %.5f, %.5f", lat, lon); } return std::string(buf); } return "Location"; } - if (entry.type == team::proto::TeamChatType::Command) { + if (entry.type == team::proto::TeamChatType::Command) + { team::proto::TeamChatCommand cmd; if (team::proto::decodeTeamChatCommand(entry.payload.data(), entry.payload.size(), - &cmd)) { + &cmd)) + { const char* name = team_command_name(cmd.cmd_type); double lat = static_cast(cmd.lat_e7) / 1e7; double lon = static_cast(cmd.lon_e7) / 1e7; char buf[160]; - if (cmd.lat_e7 != 0 || cmd.lon_e7 != 0) { - if (!cmd.note.empty()) { + if (cmd.lat_e7 != 0 || cmd.lon_e7 != 0) + { + if (!cmd.note.empty()) + { snprintf(buf, sizeof(buf), "Command: %s %.5f, %.5f %s", name, lat, lon, cmd.note.c_str()); - } else { + } + else + { snprintf(buf, sizeof(buf), "Command: %s %.5f, %.5f", name, lat, lon); } - } else if (!cmd.note.empty()) { + } + else if (!cmd.note.empty()) + { snprintf(buf, sizeof(buf), "Command: %s %s", name, cmd.note.c_str()); - } else { + } + else + { snprintf(buf, sizeof(buf), "Command: %s", name); } return std::string(buf); @@ -119,7 +138,8 @@ std::string format_team_chat_entry(const team::ui::TeamChatLogEntry& entry) std::string team_title_from_snapshot(const team::ui::TeamUiSnapshot& snap) { - if (!snap.team_name.empty()) { + if (!snap.team_name.empty()) + { return snap.team_name; } return "Team"; @@ -353,11 +373,13 @@ void UiController::switchToChannelList() team_conv_active_ = false; Serial.printf("[UiController] switchToChannelList: parent=%p active=%p sleeping=%d\n", parent_, lv_screen_active(), isScreenSleeping() ? 1 : 0); - if (lv_obj_t* active = lv_screen_active()) { + if (lv_obj_t* active = lv_screen_active()) + { Serial.printf("[UiController] switchToChannelList active child count=%u\n", (unsigned)lv_obj_get_child_cnt(active)); } - if (parent_) { + if (parent_) + { Serial.printf("[UiController] switchToChannelList parent child count=%u\n", (unsigned)lv_obj_get_child_cnt(parent_)); } @@ -392,11 +414,13 @@ void UiController::switchToConversation(chat::ConversationId conv) Serial.printf("[UiController] switchToConversation: parent=%p active=%p sleeping=%d conv_peer=%08lX\n", parent_, lv_screen_active(), isScreenSleeping() ? 1 : 0, (unsigned long)conv.peer); - if (lv_obj_t* active = lv_screen_active()) { + if (lv_obj_t* active = lv_screen_active()) + { Serial.printf("[UiController] switchToConversation active child count=%u\n", (unsigned)lv_obj_get_child_cnt(active)); } - if (parent_) { + if (parent_) + { Serial.printf("[UiController] switchToConversation parent child count=%u\n", (unsigned)lv_obj_get_child_cnt(parent_)); } @@ -480,11 +504,13 @@ void UiController::switchToCompose(chat::ConversationId conv) Serial.printf("[UiController] switchToCompose: parent=%p active=%p sleeping=%d conv_peer=%08lX\n", parent_, lv_screen_active(), isScreenSleeping() ? 1 : 0, (unsigned long)conv.peer); - if (lv_obj_t* active = lv_screen_active()) { + if (lv_obj_t* active = lv_screen_active()) + { Serial.printf("[UiController] switchToCompose active child count=%u\n", (unsigned)lv_obj_get_child_cnt(active)); } - if (parent_) { + if (parent_) + { Serial.printf("[UiController] switchToCompose parent child count=%u\n", (unsigned)lv_obj_get_child_cnt(parent_)); } @@ -690,13 +716,14 @@ void UiController::startTeamConversationTimer() lv_timer_resume(team_conv_timer_); return; } - team_conv_timer_ = lv_timer_create([](lv_timer_t* timer) { + team_conv_timer_ = lv_timer_create([](lv_timer_t* timer) + { auto* controller = static_cast(timer->user_data); if (controller) { controller->refreshTeamConversation(); - } - }, 1000, this); + } }, + 1000, this); if (team_conv_timer_) { lv_timer_set_repeat_count(team_conv_timer_, -1); @@ -715,7 +742,8 @@ void UiController::stopTeamConversationTimer() void UiController::handleConversationAction(ChatConversationScreen::ActionIntent intent) { - if (intent == ChatConversationScreen::ActionIntent::Reply) { + if (intent == ChatConversationScreen::ActionIntent::Reply) + { switchToCompose(current_conv_); } } @@ -880,7 +908,8 @@ void UiController::handleComposeAction(ChatComposeScreen::ActionIntent intent) void UiController::exitToMenu() { - if (exiting_) { + if (exiting_) + { return; } exiting_ = true; diff --git a/src/ui/ui_controller.h b/src/ui/ui_controller.h index da2184a8..35cbff49 100644 --- a/src/ui/ui_controller.h +++ b/src/ui/ui_controller.h @@ -5,49 +5,53 @@ #pragma once -#include "lvgl.h" -#include "../chat/usecase/chat_service.h" #include "../chat/domain/chat_types.h" +#include "../chat/usecase/chat_service.h" #include "../sys/event_bus.h" -#include "screens/chat/chat_message_list_components.h" -#include "screens/chat/chat_conversation_components.h" +#include "lvgl.h" #include "screens/chat/chat_compose_components.h" +#include "screens/chat/chat_conversation_components.h" +#include "screens/chat/chat_message_list_components.h" #include "widgets/ime/ime_widget.h" #include -namespace chat { -namespace ui { +namespace chat +{ +namespace ui +{ /** * @brief UI Controller * Manages chat UI state machine and coordinates with ChatService */ -class UiController { -public: - enum class State { - ChannelList, // Showing message list - Conversation, // Showing message thread - Compose // Showing compose editor +class UiController +{ + public: + enum class State + { + ChannelList, // Showing message list + Conversation, // Showing message thread + Compose // Showing compose editor }; - + UiController(lv_obj_t* parent, chat::ChatService& service); ~UiController(); - + /** * @brief Initialize UI */ void init(); - + /** * @brief Update UI (call from main loop) */ void update(); - + /** * @brief Handle input event */ void onInput(const sys::InputEvent& event); - + /** * @brief Handle chat event */ @@ -72,18 +76,20 @@ public: * @brief Exit chat UI to main menu */ void exitToMenu(); - + /** * @brief Get current state */ - State getState() const { + State getState() const + { return state_; } - + /** * @brief Get parent object */ - lv_obj_t* getParent() const { + lv_obj_t* getParent() const + { return parent_; } @@ -92,16 +98,16 @@ public: */ void onChannelClicked(chat::ConversationId conv); -private: + private: lv_obj_t* parent_; chat::ChatService& service_; State state_; - + std::unique_ptr channel_list_; std::unique_ptr conversation_; std::unique_ptr compose_; std::unique_ptr<::ui::widgets::ImeWidget> compose_ime_; - + chat::ChannelId current_channel_; chat::ConversationId current_conv_; bool team_conv_active_ = false; diff --git a/src/ui/ui_gps.cpp b/src/ui/ui_gps.cpp index 01eb4a0c..eb04919b 100644 --- a/src/ui/ui_gps.cpp +++ b/src/ui/ui_gps.cpp @@ -1,18 +1,18 @@ -#include "screens/gps/gps_state.h" +#include "board/BoardBase.h" +#include "display/DisplayInterface.h" +#include "gps/GPS.h" +#include "screens/gps/gps_constants.h" #include "screens/gps/gps_modal.h" -#include "widgets/map/map_tiles.h" #include "screens/gps/gps_page_components.h" #include "screens/gps/gps_page_input.h" #include "screens/gps/gps_page_layout.h" #include "screens/gps/gps_page_lifetime.h" #include "screens/gps/gps_page_map.h" #include "screens/gps/gps_page_styles.h" -#include "screens/gps/gps_constants.h" +#include "screens/gps/gps_state.h" #include "screens/gps/gps_tracker_overlay.h" #include "ui_common.h" -#include "board/BoardBase.h" -#include "display/DisplayInterface.h" -#include "gps/GPS.h" +#include "widgets/map/map_tiles.h" #include #include @@ -37,7 +37,8 @@ static void gps_top_bar_back(void* /*user_data*/) { GPS_LOG("[GPS][BACK] gps_top_bar_back: exiting=%d alive=%d root=%p\n", g_gps_state.exiting, g_gps_state.alive, gps_root); - if (g_gps_state.exiting) { + if (g_gps_state.exiting) + { GPS_LOG("[GPS][BACK] gps_top_bar_back: already exiting, ignore\n"); return; } @@ -49,7 +50,8 @@ static void gps_top_bar_back(void* /*user_data*/) GPSPageState g_gps_state; static lv_obj_t* gps_root = nullptr; -namespace { +namespace +{ void assign_layout_widgets(const gps::ui::layout::Widgets& w) { @@ -79,11 +81,13 @@ void bind_controls_and_group(lv_group_t* app_g) set_control_id(g_gps_state.pan_v, ControlId::PanVBtn); set_control_id(g_gps_state.tracker_btn, ControlId::TrackerBtn); - auto bind_btn_events = [](lv_obj_t* obj, bool include_rotary) { + auto bind_btn_events = [](lv_obj_t* obj, bool include_rotary) + { if (!obj) return; lv_obj_add_event_cb(obj, on_ui_event, LV_EVENT_CLICKED, NULL); lv_obj_add_event_cb(obj, on_ui_event, LV_EVENT_KEY, NULL); - if (include_rotary) { + if (include_rotary) + { lv_obj_add_event_cb(obj, on_ui_event, LV_EVENT_ROTARY, NULL); } }; @@ -94,13 +98,16 @@ void bind_controls_and_group(lv_group_t* app_g) bind_btn_events(g_gps_state.pan_v, true); bind_btn_events(g_gps_state.tracker_btn, false); - if (g_gps_state.top_bar.back_btn) { + if (g_gps_state.top_bar.back_btn) + { // Ensure encoder KEY events can trigger back even if LVGL doesn't emit CLICKED. lv_obj_add_event_cb(g_gps_state.top_bar.back_btn, on_ui_event, LV_EVENT_KEY, NULL); } - if (app_g) { - if (g_gps_state.top_bar.back_btn) { + if (app_g) + { + if (g_gps_state.top_bar.back_btn) + { lv_group_add_obj(app_g, g_gps_state.top_bar.back_btn); } lv_group_add_obj(app_g, g_gps_state.zoom); @@ -118,11 +125,14 @@ void init_gps_state_defaults() { g_gps_state.exiting = false; GPSData gps_data = gps::gps_get_data(); - if (gps_data.valid) { + if (gps_data.valid) + { g_gps_state.lat = gps_data.lat; g_gps_state.lng = gps_data.lng; g_gps_state.has_fix = true; - } else { + } + else + { g_gps_state.zoom_level = 0; g_gps_state.lat = gps_ui::kDefaultLat; g_gps_state.lng = gps_ui::kDefaultLng; @@ -161,7 +171,8 @@ bool isGPSLoadingTiles() static void title_update_timer_cb(lv_timer_t* timer) { (void)timer; - if (!gps::ui::lifetime::is_alive()) { + if (!gps::ui::lifetime::is_alive()) + { return; } @@ -172,7 +183,8 @@ static void title_update_timer_cb(lv_timer_t* timer) static void gps_update_timer_cb(lv_timer_t* timer) { (void)timer; - if (!gps::ui::lifetime::is_alive()) { + if (!gps::ui::lifetime::is_alive()) + { return; } @@ -181,7 +193,8 @@ static void gps_update_timer_cb(lv_timer_t* timer) GPSData gps_data = gps::gps_get_data(); const bool has_fix_now = gps_data.valid || g_gps_state.has_fix; - if (g_gps_state.pending_refresh) { + if (g_gps_state.pending_refresh) + { g_gps_state.pending_refresh = false; update_map_tiles(false); } @@ -189,17 +202,20 @@ static void gps_update_timer_cb(lv_timer_t* timer) refresh_member_panel(false); refresh_team_markers_from_posring(); - if (g_gps_state.zoom_modal.is_open()) { + if (g_gps_state.zoom_modal.is_open()) + { tick_gps_update(false); return; } - if (modal_is_open(g_gps_state.tracker_modal)) { + if (modal_is_open(g_gps_state.tracker_modal)) + { tick_gps_update(false); return; } - if (!has_fix_now && !g_gps_state.pending_refresh) { + if (!has_fix_now && !g_gps_state.pending_refresh) + { return; } @@ -209,7 +225,8 @@ static void gps_update_timer_cb(lv_timer_t* timer) static void gps_loader_timer_cb(lv_timer_t* timer) { (void)timer; - if (!gps::ui::lifetime::is_alive()) { + if (!gps::ui::lifetime::is_alive()) + { return; } tick_loader(); @@ -217,7 +234,8 @@ static void gps_loader_timer_cb(lv_timer_t* timer) static void gps_initial_tiles_async(void* /*user_data*/) { - if (!gps::ui::lifetime::is_alive() || !g_gps_state.map) { + if (!gps::ui::lifetime::is_alive() || !g_gps_state.map) + { return; } // Ensure final sizes before first tile calculation to avoid visible jitter. @@ -230,7 +248,8 @@ void ui_gps_enter(lv_obj_t* parent) GPS_LOG("[GPS] Entering GPS page, SD ready: %d, GPS ready: %d\n", board.isSDReady(), board.isGPSReady()); // Ensure any previous instance is cleaned up before we reset state. - if (gps_root != nullptr) { + if (gps_root != nullptr) + { ui_gps_exit(nullptr); } @@ -267,7 +286,8 @@ void ui_gps_enter(lv_obj_t* parent) &g_gps_state.has_visible_map_data); g_gps_state.tile_ctx.map_container = g_gps_state.map; - if (!g_gps_state.tracker_draw_cb_bound) { + if (!g_gps_state.tracker_draw_cb_bound) + { lv_obj_add_event_cb(g_gps_state.map, gps_tracker_draw_event, LV_EVENT_DRAW_POST, NULL); g_gps_state.tracker_draw_cb_bound = true; } @@ -277,7 +297,8 @@ void ui_gps_enter(lv_obj_t* parent) bind_controls_and_group(app_g); lv_obj_move_foreground(g_gps_state.panel); - if (g_gps_state.resolution_label != NULL) { + if (g_gps_state.resolution_label != NULL) + { lv_obj_move_foreground(g_gps_state.resolution_label); } @@ -288,7 +309,8 @@ void ui_gps_enter(lv_obj_t* parent) refresh_member_panel(true); - if (app_g != NULL) { + if (app_g != NULL) + { lv_group_set_editing(app_g, false); } @@ -299,10 +321,13 @@ void ui_gps_enter(lv_obj_t* parent) g_gps_state.last_resolution_lat = g_gps_state.lat; update_resolution_display(); - if (g_gps_state.map == NULL || g_gps_state.tile_ctx.map_container != g_gps_state.map) { + if (g_gps_state.map == NULL || g_gps_state.tile_ctx.map_container != g_gps_state.map) + { GPS_LOG("[GPS] WARNING: map=%p, tile_ctx.map_container=%p, skipping initial tile calculation\n", g_gps_state.map, g_gps_state.tile_ctx.map_container); - } else { + } + else + { // Defer the first tile calculation to the next LVGL tick to stabilize layout. lv_async_call(gps_initial_tiles_async, nullptr); } @@ -340,9 +365,12 @@ void ui_gps_exit(lv_obj_t* parent) GPS_LOG("[GPS][EXIT] timers cleared\n"); extern lv_group_t* app_g; - if (app_g) { - auto remove_if = [](lv_obj_t* obj) { - if (obj) { + if (app_g) + { + auto remove_if = [](lv_obj_t* obj) + { + if (obj) + { lv_group_remove_obj(obj); } }; @@ -354,24 +382,28 @@ void ui_gps_exit(lv_obj_t* parent) remove_if(g_gps_state.tracker_btn); remove_if(g_gps_state.pan_h_indicator); remove_if(g_gps_state.pan_v_indicator); - for (auto* btn : g_gps_state.member_btns) { + for (auto* btn : g_gps_state.member_btns) + { remove_if(btn); } GPS_LOG("[GPS][EXIT] removed objs from group\n"); } - if (g_gps_state.zoom_modal.is_open()) { + if (g_gps_state.zoom_modal.is_open()) + { GPS_LOG("[GPS][EXIT] closing zoom modal\n"); modal_close(g_gps_state.zoom_modal); } GPS_LOG("[GPS][EXIT] cleaning tracker overlay\n"); gps_tracker_cleanup(); - if (g_gps_state.zoom_modal.group) { + if (g_gps_state.zoom_modal.group) + { GPS_LOG("[GPS][EXIT] deleting zoom modal group\n"); lv_group_del(g_gps_state.zoom_modal.group); g_gps_state.zoom_modal.group = nullptr; } - if (g_gps_state.tracker_modal.group) { + if (g_gps_state.tracker_modal.group) + { GPS_LOG("[GPS][EXIT] deleting tracker modal group\n"); lv_group_del(g_gps_state.tracker_modal.group); g_gps_state.tracker_modal.group = nullptr; @@ -381,7 +413,8 @@ void ui_gps_exit(lv_obj_t* parent) ::cleanup_tiles(g_gps_state.tile_ctx); // Delete the root last. - if (gps_root != nullptr) { + if (gps_root != nullptr) + { GPS_LOG("[GPS][EXIT] deleting root %p\n", gps_root); lv_obj_del(gps_root); gps_root = nullptr; diff --git a/src/ui/ui_team.cpp b/src/ui/ui_team.cpp index 61783edc..a54f00f0 100644 --- a/src/ui/ui_team.cpp +++ b/src/ui/ui_team.cpp @@ -4,11 +4,11 @@ */ #include "ui_team.h" +#include "../app/app_context.h" +#include "../sys/event_bus.h" #include "screens/team/team_page_components.h" #include "screens/team/team_state.h" #include "ui_common.h" -#include "../app/app_context.h" -#include "../sys/event_bus.h" namespace team { diff --git a/src/ui/ui_usb.cpp b/src/ui/ui_usb.cpp index 69583226..5fb69a54 100644 --- a/src/ui/ui_usb.cpp +++ b/src/ui/ui_usb.cpp @@ -3,131 +3,139 @@ /** * @file ui_usb.cpp * @brief USB Mass Storage interface implementation - * + * * This module implements USB Mass Storage functionality to expose SD card * as a USB storage device to the computer. - * + * * Credits to @geo_tp for the original POC: https://github.com/geo-tp/Esp32-USB-Stick */ #include "ui_usb.h" -#include "ui_common.h" -#include "widgets/top_bar.h" -#include "board/BoardBase.h" #include "../gps/gps_service_api.h" -#include -#include -#include -#include -#include // For memcpy +#include "board/BoardBase.h" #include "freertos/FreeRTOS.h" #include "freertos/task.h" +#include "ui_common.h" +#include "widgets/top_bar.h" +#include +#include +#include +#include +#include // For memcpy // Forward declarations from main.cpp extern void disableScreenSleep(); extern void enableScreenSleep(); // GPS task handle is now accessed via GpsService -static lv_obj_t *status_label = NULL; -static lv_obj_t *root = NULL; -static lv_obj_t *content = NULL; -static lv_obj_t *loading_overlay = NULL; -static lv_obj_t *loading_box = NULL; -static lv_timer_t *exit_timer = NULL; +static lv_obj_t* status_label = NULL; +static lv_obj_t* root = NULL; +static lv_obj_t* content = NULL; +static lv_obj_t* loading_overlay = NULL; +static lv_obj_t* loading_box = NULL; +static lv_timer_t* exit_timer = NULL; static ui::widgets::TopBar top_bar; static USBMSC msc; static bool should_stop = false; -static bool usb_mode_active = false; // Track if USB mode is active +static bool usb_mode_active = false; // Track if USB mode is active static bool usb_exit_started = false; static bool usb_stopped = false; // Forward declarations static void back_event_handler(void* user_data); -static void show_loading(const char *message); +static void show_loading(const char* message); static void stop_usb_async_cb(lv_timer_t* timer); -static void update_status_message(const char *message); -static int32_t usbReadCallback(uint32_t lba, uint32_t offset, void *buffer, uint32_t bufsize); -static int32_t usbWriteCallback(uint32_t lba, uint32_t offset, uint8_t *buffer, uint32_t bufsize); +static void update_status_message(const char* message); +static int32_t usbReadCallback(uint32_t lba, uint32_t offset, void* buffer, uint32_t bufsize); +static int32_t usbWriteCallback(uint32_t lba, uint32_t offset, uint8_t* buffer, uint32_t bufsize); static bool usbStartStopCallback(uint8_t power_condition, bool start, bool load_eject); /** * @brief USB read callback - reads data from SD card - * + * * This function reads raw sectors from the SD card using ESP32's SD library * readRAW() method. The implementation follows the pattern from Launcher's * MassStorage class. - * + * * NOTE: Launcher does NOT use SPI lock in USB callbacks - USB operations * are time-critical and locking may cause stability issues. */ -static int32_t usbReadCallback(uint32_t lba, uint32_t offset, void *buffer, uint32_t bufsize) +static int32_t usbReadCallback(uint32_t lba, uint32_t offset, void* buffer, uint32_t bufsize) { // Verify sector size (get from SD library, like Launcher does) const uint32_t secSize = SD.sectorSize(); - if (secSize == 0) { + if (secSize == 0) + { return -1; // disk error } - + // Read sectors (exactly like Launcher's implementation) - for (uint32_t x = 0; x < bufsize / secSize; ++x) { - if (!SD.readRAW(reinterpret_cast(buffer) + (x * secSize), lba + x)) { + for (uint32_t x = 0; x < bufsize / secSize; ++x) + { + if (!SD.readRAW(reinterpret_cast(buffer) + (x * secSize), lba + x)) + { return -1; // read error } } - + return bufsize; } /** * @brief USB write callback - writes data to SD card - * + * * This function writes raw sectors to the SD card using ESP32's SD library * writeRAW() method. The implementation follows the pattern from Launcher's * MassStorage class. - * + * * NOTE: Launcher does NOT use SPI lock in USB callbacks - USB operations * are time-critical and locking may cause stability issues. * Launcher also uses a temporary buffer for each sector write. */ -static int32_t usbWriteCallback(uint32_t lba, uint32_t offset, uint8_t *buffer, uint32_t bufsize) +static int32_t usbWriteCallback(uint32_t lba, uint32_t offset, uint8_t* buffer, uint32_t bufsize) { // Verify free space (like Launcher does) uint64_t freeSpace = SD.totalBytes() - SD.usedBytes(); - if (bufsize > freeSpace) { + if (bufsize > freeSpace) + { return -1; // no space available } - + // Verify sector size (get from SD library, like Launcher does) const uint32_t secSize = SD.sectorSize(); - if (secSize == 0) { + if (secSize == 0) + { return -1; // disk error } - + // Write sectors (exactly like Launcher's implementation with temporary buffer) - for (uint32_t x = 0; x < bufsize / secSize; ++x) { + for (uint32_t x = 0; x < bufsize / secSize; ++x) + { uint8_t blkBuffer[secSize]; memcpy(blkBuffer, buffer + secSize * x, secSize); - if (!SD.writeRAW(blkBuffer, lba + x)) { + if (!SD.writeRAW(blkBuffer, lba + x)) + { return -1; // write error } } - + return bufsize; } /** * @brief USB start/stop callback - * + * * Handles USB connection/disconnection events (exactly like Launcher's implementation) */ static bool usbStartStopCallback(uint8_t power_condition, bool start, bool load_eject) { - if (!start && load_eject) { + if (!start && load_eject) + { // USB ejected by host should_stop = true; return false; } - + // Launcher's implementation is simpler - just return true for start return true; } @@ -135,22 +143,25 @@ static bool usbStartStopCallback(uint8_t power_condition, bool start, bool load_ /** * @brief Update status message on screen */ -static void update_status_message(const char *message) +static void update_status_message(const char* message) { - if (status_label) { + if (status_label) + { lv_label_set_text(status_label, message); } Serial.printf("[USB] %s\n", message); } -static void show_loading(const char *message) +static void show_loading(const char* message) { lv_obj_t* top_layer = lv_layer_top(); - if (!top_layer) { + if (!top_layer) + { return; } - if (loading_overlay) { + if (loading_overlay) + { lv_obj_del(loading_overlay); loading_overlay = NULL; loading_box = NULL; @@ -183,18 +194,21 @@ static void show_loading(const char *message) static void stop_usb_async_cb(lv_timer_t* timer) { - if (timer) { + if (timer) + { lv_timer_del(timer); } exit_timer = NULL; - if (!usb_stopped) { + if (!usb_stopped) + { should_stop = true; usb_mode_active = false; msc.end(); ::enableScreenSleep(); TaskHandle_t gps_task_handle = gps::gps_get_task_handle(); - if (gps_task_handle != NULL) { + if (gps_task_handle != NULL) + { vTaskResume(gps_task_handle); } usb_stopped = true; @@ -205,51 +219,55 @@ static void stop_usb_async_cb(lv_timer_t* timer) /** * @brief Setup USB Mass Storage - * + * * This function sets up USB Mass Storage following the pattern from Launcher's * MassStorage class. It gets SD card sector information and configures the MSC. */ static void setup_usb_msc() { // Verify SD card is ready before starting USB MSC - if (!board.isCardReady()) { + if (!board.isCardReady()) + { update_status_message("SD Card Not Ready"); return; } - + // Ensure SD card is still accessible (double check) - if (SD.cardType() == CARD_NONE) { + if (SD.cardType() == CARD_NONE) + { update_status_message("SD Card Not Detected"); return; } - + // Get sector size and number of sectors (exactly like Launcher's implementation) // Use SD library's sectorSize() method (like Launcher uses SDM.sectorSize()) uint32_t secSize = SD.sectorSize(); - if (secSize == 0) { + if (secSize == 0) + { update_status_message("SD Card Sector Error"); return; } - + // Calculate number of sectors from card size uint64_t cardSize = SD.cardSize(); uint32_t numSectors = cardSize / secSize; - + // Configure USB MSC (similar to Launcher) msc.vendorID("TrailMate"); msc.productID("SD Card"); msc.productRevision("1.0"); - + // Set callbacks msc.onRead(usbReadCallback); msc.onWrite(usbWriteCallback); msc.onStartStop(usbStartStopCallback); - + msc.mediaPresent(true); msc.begin(numSectors, secSize); - + // Setup USB event handler (exactly like Launcher's implementation) - USB.onEvent([](void *arg, esp_event_base_t event_base, int32_t event_id, void *event_data) { + USB.onEvent([](void* arg, esp_event_base_t event_base, int32_t event_id, void* event_data) + { if (event_base == ARDUINO_USB_EVENTS) { switch (event_id) { case ARDUINO_USB_STARTED_EVENT: @@ -267,9 +285,8 @@ static void setup_usb_msc() default: break; } - } - }); - + } }); + // Start USB USB.begin(); update_status_message("Initializing USB..."); @@ -280,19 +297,22 @@ static void setup_usb_msc() */ static void back_event_handler(void* /*user_data*/) { - if (usb_exit_started) { + if (usb_exit_started) + { return; } usb_exit_started = true; show_loading("Exiting USB..."); update_status_message("Stopping USB..."); - if (exit_timer) { + if (exit_timer) + { lv_timer_del(exit_timer); exit_timer = NULL; } exit_timer = lv_timer_create(stop_usb_async_cb, 100, NULL); - if (exit_timer) { + if (exit_timer) + { lv_timer_set_repeat_count(exit_timer, 1); } } @@ -300,22 +320,25 @@ static void back_event_handler(void* /*user_data*/) /** * @brief Enter USB Mass Storage mode */ -void ui_usb_enter(lv_obj_t *parent) +void ui_usb_enter(lv_obj_t* parent) { usb_exit_started = false; usb_stopped = false; - if (exit_timer) { + if (exit_timer) + { lv_timer_del(exit_timer); exit_timer = NULL; } - if (root) { + if (root) + { lv_obj_del(root); root = NULL; content = NULL; status_label = NULL; loading_box = NULL; - if (loading_overlay) { + if (loading_overlay) + { lv_obj_del(loading_overlay); loading_overlay = NULL; } @@ -345,28 +368,30 @@ void ui_usb_enter(lv_obj_t *parent) lv_obj_clear_flag(content, LV_OBJ_FLAG_SCROLLABLE); // Check if SD card is ready - if (!board.isCardReady()) { + if (!board.isCardReady()) + { // Show error message - lv_obj_t *error_label = lv_label_create(content); + lv_obj_t* error_label = lv_label_create(content); lv_label_set_text(error_label, "SD Card Not Found\nPlease insert SD card"); lv_obj_center(error_label); lv_obj_set_style_text_font(error_label, &lv_font_montserrat_18, LV_PART_MAIN); lv_obj_set_style_text_color(error_label, lv_color_hex(0xFF0000), LV_PART_MAIN); return; } - + should_stop = false; - + // Disable screen sleep during USB mode to keep USB functionality active disableScreenSleep(); - - // Suspend GPS task during USB mode to prevent any potential interference - // GPS uses serial port, but suspending it ensures no unexpected resource conflicts - TaskHandle_t gps_task_handle = gps::gps_get_task_handle(); - if (gps_task_handle != NULL) { - vTaskSuspend(gps_task_handle); - } - + + // Suspend GPS task during USB mode to prevent any potential interference + // GPS uses serial port, but suspending it ensures no unexpected resource conflicts + TaskHandle_t gps_task_handle = gps::gps_get_task_handle(); + if (gps_task_handle != NULL) + { + vTaskSuspend(gps_task_handle); + } + // Create status label status_label = lv_label_create(content); lv_label_set_text(status_label, "Initializing..."); @@ -374,41 +399,43 @@ void ui_usb_enter(lv_obj_t *parent) lv_obj_set_style_text_font(status_label, &lv_font_montserrat_18, LV_PART_MAIN); lv_obj_set_style_text_color(status_label, lv_color_hex(0x202020), LV_PART_MAIN); lv_obj_set_style_text_align(status_label, LV_TEXT_ALIGN_CENTER, LV_PART_MAIN); - + // Create info label - lv_obj_t *info_label = lv_label_create(content); + lv_obj_t* info_label = lv_label_create(content); lv_label_set_text(info_label, "Press Back to exit USB mode"); lv_obj_align(info_label, LV_ALIGN_BOTTOM_MID, 0, -20); lv_obj_set_style_text_font(info_label, &lv_font_montserrat_14, LV_PART_MAIN); lv_obj_set_style_text_color(info_label, lv_color_hex(0x606060), LV_PART_MAIN); lv_obj_set_style_text_opa(info_label, LV_OPA_80, LV_PART_MAIN); - + // Setup USB MSC setup_usb_msc(); - + // Wait a bit for USB to initialize (like Launcher does) vTaskDelay(pdTICKS_TO_MS(500)); - + // Mark USB mode as active (main loop will handle the USB loop) usb_mode_active = true; } /** * @brief Exit USB Mass Storage mode - * + * * This function cleans up USB MSC and restores USB to normal mode, * following the pattern from Launcher's MassStorage destructor. */ -void ui_usb_exit(lv_obj_t *parent) +void ui_usb_exit(lv_obj_t* parent) { (void)parent; - - if (exit_timer) { + + if (exit_timer) + { lv_timer_del(exit_timer); exit_timer = NULL; } - if (!usb_stopped) { + if (!usb_stopped) + { // Signal loop to exit should_stop = true; usb_mode_active = false; @@ -421,22 +448,26 @@ void ui_usb_exit(lv_obj_t *parent) // Resume GPS task now that USB mode is exiting TaskHandle_t gps_task_handle = gps::gps_get_task_handle(); - if (gps_task_handle != NULL) { + if (gps_task_handle != NULL) + { vTaskResume(gps_task_handle); } usb_stopped = true; } // Clean up UI - if (status_label) { + if (status_label) + { status_label = NULL; } - if (loading_overlay) { + if (loading_overlay) + { lv_obj_del(loading_overlay); loading_overlay = NULL; loading_box = NULL; } - if (root) { + if (root) + { lv_obj_del(root); root = NULL; } diff --git a/src/ui/ui_usb.h b/src/ui/ui_usb.h index 839aa771..95a3358f 100644 --- a/src/ui/ui_usb.h +++ b/src/ui/ui_usb.h @@ -14,13 +14,13 @@ * @brief Enter USB Mass Storage mode * @param parent Parent object for the UI */ -void ui_usb_enter(lv_obj_t *parent); +void ui_usb_enter(lv_obj_t* parent); /** * @brief Exit USB Mass Storage mode * @param parent Parent object for the UI */ -void ui_usb_exit(lv_obj_t *parent); +void ui_usb_exit(lv_obj_t* parent); /** * @brief Check if USB Mass Storage mode is currently active diff --git a/src/ui/widgets/ime/ime_widget.cpp b/src/ui/widgets/ime/ime_widget.cpp index 27674003..b6de12ae 100644 --- a/src/ui/widgets/ime/ime_widget.cpp +++ b/src/ui/widgets/ime/ime_widget.cpp @@ -10,23 +10,29 @@ #include #include -namespace ui { -namespace widgets { +namespace ui +{ +namespace widgets +{ static ImeWidget* s_active_ime = nullptr; static constexpr int kCandidatesPerPage = 12; -extern "C" void ui_ime_toggle_mode() { - if (s_active_ime) { +extern "C" void ui_ime_toggle_mode() +{ + if (s_active_ime) + { s_active_ime->cycleMode(); } } -extern "C" bool ui_ime_is_active() { +extern "C" bool ui_ime_is_active() +{ return s_active_ime != nullptr; } -static std::string make_candidates_text(const std::vector& candidates, int active_idx) { +static std::string make_candidates_text(const std::vector& candidates, int active_idx) +{ std::string out; int max_show = kCandidatesPerPage; int total = static_cast(candidates.size()); @@ -36,22 +42,28 @@ static std::string make_candidates_text(const std::vector& candidat int page_start = (active_idx / max_show) * max_show; int page_end = page_start + max_show; if (page_end > total) page_end = total; - for (int i = page_start; i < page_end; ++i) { - if (i == active_idx) { + for (int i = page_start; i < page_end; ++i) + { + if (i == active_idx) + { out += "["; out += candidates[i]; out += "]"; - } else { + } + else + { out += candidates[i]; } - if (i + 1 < page_end) { + if (i + 1 < page_end) + { out += " "; } } return out; } -void ImeWidget::init(lv_obj_t* parent, lv_obj_t* textarea) { +void ImeWidget::init(lv_obj_t* parent, lv_obj_t* textarea) +{ textarea_ = textarea; ime_.setEnabled(false); mode_ = Mode::EN; @@ -91,11 +103,13 @@ void ImeWidget::init(lv_obj_t* parent, lv_obj_t* textarea) { lv_obj_set_style_bg_opa(focus_proxy_, LV_OPA_TRANSP, LV_PART_MAIN); lv_obj_set_style_border_width(focus_proxy_, 0, LV_PART_MAIN); lv_obj_set_style_pad_all(focus_proxy_, 0, LV_PART_MAIN); - lv_obj_add_event_cb(focus_proxy_, [](lv_event_t* e) { + lv_obj_add_event_cb( + focus_proxy_, [](lv_event_t* e) + { ImeWidget* self = static_cast(lv_event_get_user_data(e)); if (!self) return; - self->handle_key(e); - }, LV_EVENT_KEY, this); + self->handle_key(e); }, + LV_EVENT_KEY, this); candidates_label_ = lv_label_create(container_); lv_label_set_text(candidates_label_, ""); @@ -107,48 +121,63 @@ void ImeWidget::init(lv_obj_t* parent, lv_obj_t* textarea) { refresh_labels(); } -void ImeWidget::detach() { +void ImeWidget::detach() +{ container_ = nullptr; toggle_btn_ = nullptr; toggle_label_ = nullptr; focus_proxy_ = nullptr; candidates_label_ = nullptr; textarea_ = nullptr; - if (s_active_ime == this) { + if (s_active_ime == this) + { s_active_ime = nullptr; } } -void ImeWidget::setMode(Mode mode) { +void ImeWidget::setMode(Mode mode) +{ mode_ = mode; ime_.setEnabled(mode_ == Mode::CN); - if (textarea_) { - if (mode_ == Mode::CN) { + if (textarea_) + { + if (mode_ == Mode::CN) + { const char* cur = lv_textarea_get_text(textarea_); committed_text_ = cur ? std::string(cur) : std::string(); lv_textarea_set_accepted_chars(textarea_, ""); - } else { + } + else + { lv_textarea_set_accepted_chars(textarea_, nullptr); } } refresh_labels(); } -ImeWidget::Mode ImeWidget::mode() const { +ImeWidget::Mode ImeWidget::mode() const +{ return mode_; } -void ImeWidget::cycleMode() { - if (mode_ == Mode::EN) { +void ImeWidget::cycleMode() +{ + if (mode_ == Mode::EN) + { setMode(Mode::CN); - } else if (mode_ == Mode::CN) { + } + else if (mode_ == Mode::CN) + { setMode(Mode::NUM); - } else { + } + else + { setMode(Mode::EN); } } -bool ImeWidget::handle_key(lv_event_t* e) { +bool ImeWidget::handle_key(lv_event_t* e) +{ if (mode_ != Mode::CN || !textarea_) return false; uint32_t key = lv_event_get_key(e); @@ -156,55 +185,79 @@ bool ImeWidget::handle_key(lv_event_t* e) { bool committed = false; std::string committed_text; - if (key == LV_KEY_BACKSPACE) { - if (ime_.hasBuffer()) { + if (key == LV_KEY_BACKSPACE) + { + if (ime_.hasBuffer()) + { ime_.backspace(); consumed = true; } - } else if (key == LV_KEY_UP || key == LV_KEY_LEFT) { - if (ime_.hasBuffer()) { + } + else if (key == LV_KEY_UP || key == LV_KEY_LEFT) + { + if (ime_.hasBuffer()) + { ime_.moveCandidate(-1); consumed = true; } - } else if (key == LV_KEY_DOWN || key == LV_KEY_RIGHT) { - if (ime_.hasBuffer()) { + } + else if (key == LV_KEY_DOWN || key == LV_KEY_RIGHT) + { + if (ime_.hasBuffer()) + { ime_.moveCandidate(1); consumed = true; } - } else if (key == LV_KEY_ENTER) { - if (ime_.hasBuffer()) { + } + else if (key == LV_KEY_ENTER) + { + if (ime_.hasBuffer()) + { std::string out; - if (ime_.commitActive(out)) { + if (ime_.commitActive(out)) + { committed = true; committed_text = out; } consumed = true; } - } else if (key == ' ') { - if (ime_.hasBuffer()) { + } + else if (key == ' ') + { + if (ime_.hasBuffer()) + { ime_.reset(); } committed = true; committed_text = " "; consumed = true; - } else if (key >= 32 && key <= 126) { + } + else if (key >= 32 && key <= 126) + { char c = static_cast(key); - if (c >= 'A' && c <= 'Z') { + if (c >= 'A' && c <= 'Z') + { c = static_cast(c - 'A' + 'a'); } - if (c >= 'a' && c <= 'z') { - if (ime_.appendLetter(c)) { + if (c >= 'a' && c <= 'z') + { + if (ime_.appendLetter(c)) + { consumed = true; } } } - if (consumed) { - if (committed) { + if (consumed) + { + if (committed) + { committed_text_ += committed_text; lv_textarea_set_text(textarea_, committed_text_.c_str()); lv_textarea_set_cursor_pos(textarea_, LV_TEXTAREA_CURSOR_LAST); - } else { + } + else + { lv_textarea_set_text(textarea_, committed_text_.c_str()); lv_textarea_set_cursor_pos(textarea_, LV_TEXTAREA_CURSOR_LAST); } @@ -214,31 +267,41 @@ bool ImeWidget::handle_key(lv_event_t* e) { return consumed; } -void ImeWidget::refresh_labels() { +void ImeWidget::refresh_labels() +{ if (!toggle_label_ || !candidates_label_) return; - if (textarea_) { - if (mode_ == Mode::CN && ime_.hasBuffer()) { - if (lv_group_t* g = lv_group_get_default()) { - if (focus_proxy_) { + if (textarea_) + { + if (mode_ == Mode::CN && ime_.hasBuffer()) + { + if (lv_group_t* g = lv_group_get_default()) + { + if (focus_proxy_) + { lv_group_focus_obj(focus_proxy_); } lv_group_set_editing(g, true); } - } else { - if (lv_group_t* g = lv_group_get_default()) { + } + else + { + if (lv_group_t* g = lv_group_get_default()) + { lv_group_set_editing(g, false); lv_group_focus_obj(textarea_); } } } - if (mode_ == Mode::EN) { + if (mode_ == Mode::EN) + { lv_label_set_text(toggle_label_, "EN"); lv_label_set_text(candidates_label_, ""); return; } - if (mode_ == Mode::NUM) { + if (mode_ == Mode::NUM) + { lv_label_set_text(toggle_label_, "123"); lv_label_set_text(candidates_label_, ""); return; @@ -248,9 +311,11 @@ void ImeWidget::refresh_labels() { refresh_candidates(); } -void ImeWidget::refresh_candidates() { +void ImeWidget::refresh_candidates() +{ if (!candidates_label_) return; - if (!ime_.hasBuffer()) { + if (!ime_.hasBuffer()) + { lv_label_set_text(candidates_label_, ""); return; } @@ -258,18 +323,22 @@ void ImeWidget::refresh_candidates() { lv_label_set_text(candidates_label_, text.c_str()); } -void ImeWidget::on_toggle_clicked(lv_event_t* e) { +void ImeWidget::on_toggle_clicked(lv_event_t* e) +{ ImeWidget* self = static_cast(lv_event_get_user_data(e)); if (!self) return; lv_event_code_t code = lv_event_get_code(e); - if (code == LV_EVENT_CLICKED) { + if (code == LV_EVENT_CLICKED) + { self->cycleMode(); return; } - if (code == LV_EVENT_KEY) { + if (code == LV_EVENT_KEY) + { uint32_t key = lv_event_get_key(e); - if (key == LV_KEY_ENTER) { + if (key == LV_KEY_ENTER) + { return; // Enter is reserved for candidate commit } self->cycleMode(); diff --git a/src/ui/widgets/ime/ime_widget.h b/src/ui/widgets/ime/ime_widget.h index c7a2de23..85a83b3d 100644 --- a/src/ui/widgets/ime/ime_widget.h +++ b/src/ui/widgets/ime/ime_widget.h @@ -8,15 +8,19 @@ #include "lvgl.h" #include "pinyin_ime.h" -namespace ui { -namespace widgets { +namespace ui +{ +namespace widgets +{ -class ImeWidget { -public: +class ImeWidget +{ + public: void init(lv_obj_t* parent, lv_obj_t* textarea); void detach(); - enum class Mode { + enum class Mode + { EN, CN, NUM @@ -32,7 +36,7 @@ public: lv_obj_t* toggle_btn() const { return toggle_btn_; } lv_obj_t* focus_obj() const { return focus_proxy_; } -private: + private: void refresh_labels(); void refresh_candidates(); diff --git a/src/ui/widgets/ime/pinyin_ime.cpp b/src/ui/widgets/ime/pinyin_ime.cpp index 05415c1e..6c831189 100644 --- a/src/ui/widgets/ime/pinyin_ime.cpp +++ b/src/ui/widgets/ime/pinyin_ime.cpp @@ -7,87 +7,109 @@ #include "pinyin_data.h" #include -#include #include #include +#include -namespace ui { -namespace widgets { +namespace ui +{ +namespace widgets +{ -static void trim_in_place(std::string& s) { +static void trim_in_place(std::string& s) +{ size_t start = 0; - while (start < s.size() && (s[start] == ' ' || s[start] == '\t' || s[start] == '\r')) { + while (start < s.size() && (s[start] == ' ' || s[start] == '\t' || s[start] == '\r')) + { ++start; } size_t end = s.size(); - while (end > start && (s[end - 1] == ' ' || s[end - 1] == '\t' || s[end - 1] == '\r')) { + while (end > start && (s[end - 1] == ' ' || s[end - 1] == '\t' || s[end - 1] == '\r')) + { --end; } - if (start == 0 && end == s.size()) { + if (start == 0 && end == s.size()) + { return; } s = s.substr(start, end - start); } -static void append_candidate_unique(std::vector& list, const std::string& cand) { +static void append_candidate_unique(std::vector& list, const std::string& cand) +{ if (cand.empty()) return; - if (std::find(list.begin(), list.end(), cand) != list.end()) { + if (std::find(list.begin(), list.end(), cand) != list.end()) + { return; } list.push_back(cand); } -static void append_candidates(std::vector& list, const std::string& candidates, size_t max_count) { +static void append_candidates(std::vector& list, const std::string& candidates, size_t max_count) +{ size_t p = 0; - while (p < candidates.size() && list.size() < max_count) { - while (p < candidates.size() && candidates[p] == ' ') { + while (p < candidates.size() && list.size() < max_count) + { + while (p < candidates.size() && candidates[p] == ' ') + { ++p; } size_t start = p; - while (p < candidates.size() && candidates[p] != ' ') { + while (p < candidates.size() && candidates[p] != ' ') + { ++p; } - if (p > start) { + if (p > start) + { append_candidate_unique(list, candidates.substr(start, p - start)); } } } -void PinyinIme::setEnabled(bool enabled) { +void PinyinIme::setEnabled(bool enabled) +{ if (enabled_ == enabled) return; enabled_ = enabled; - if (!enabled_) { + if (!enabled_) + { reset(); } } -bool PinyinIme::isEnabled() const { +bool PinyinIme::isEnabled() const +{ return enabled_; } -void PinyinIme::reset() { +void PinyinIme::reset() +{ buffer_.clear(); candidates_.clear(); candidate_index_ = 0; } -bool PinyinIme::hasBuffer() const { +bool PinyinIme::hasBuffer() const +{ return !buffer_.empty(); } -const std::string& PinyinIme::buffer() const { +const std::string& PinyinIme::buffer() const +{ return buffer_; } -const std::vector& PinyinIme::candidates() const { +const std::vector& PinyinIme::candidates() const +{ return candidates_; } -int PinyinIme::candidateIndex() const { +int PinyinIme::candidateIndex() const +{ return candidate_index_; } -bool PinyinIme::appendLetter(char c) { +bool PinyinIme::appendLetter(char c) +{ if (!enabled_) return false; if (buffer_.size() >= kMaxBufferLen) return false; if (!(c >= 'a' && c <= 'z')) return false; @@ -96,7 +118,8 @@ bool PinyinIme::appendLetter(char c) { return true; } -bool PinyinIme::backspace() { +bool PinyinIme::backspace() +{ if (!enabled_) return false; if (buffer_.empty()) return false; buffer_.pop_back(); @@ -104,37 +127,47 @@ bool PinyinIme::backspace() { return true; } -bool PinyinIme::moveCandidate(int delta) { +bool PinyinIme::moveCandidate(int delta) +{ if (!enabled_) return false; if (candidates_.empty()) return false; int size = static_cast(candidates_.size()); candidate_index_ = (candidate_index_ + delta) % size; - if (candidate_index_ < 0) { + if (candidate_index_ < 0) + { candidate_index_ += size; } return true; } -bool PinyinIme::commitCandidate(int index, std::string& out) { +bool PinyinIme::commitCandidate(int index, std::string& out) +{ if (!enabled_) return false; if (buffer_.empty()) return false; - if (index >= 0 && index < static_cast(candidates_.size())) { + if (index >= 0 && index < static_cast(candidates_.size())) + { out = candidates_[index]; - } else if (!candidates_.empty()) { + } + else if (!candidates_.empty()) + { out = candidates_[0]; - } else { + } + else + { out = buffer_; } reset(); return true; } -bool PinyinIme::commitActive(std::string& out) { +bool PinyinIme::commitActive(std::string& out) +{ return commitCandidate(candidate_index_, out); } -void PinyinIme::updateCandidates() { +void PinyinIme::updateCandidates() +{ candidates_.clear(); candidate_index_ = 0; if (!enabled_) return; @@ -142,30 +175,40 @@ void PinyinIme::updateCandidates() { updateCandidatesFromBuiltin(); } -void PinyinIme::updateCandidatesFromBuiltin() { +void PinyinIme::updateCandidatesFromBuiltin() +{ static constexpr size_t kMaxCandidates = 50; std::vector exact_candidates; std::vector prefix_candidates; std::string line; const char* ptr = kPinyinDict; - while (true) { + while (true) + { char c = static_cast(pgm_read_byte(ptr++)); - if (c == '\0') { - if (!line.empty()) { + if (c == '\0') + { + if (!line.empty()) + { std::string tmp = line; trim_in_place(tmp); - if (!tmp.empty() && tmp[0] != '#') { + if (!tmp.empty() && tmp[0] != '#') + { size_t tab_pos = tmp.find('\t'); size_t split_pos = (tab_pos != std::string::npos) ? tab_pos : tmp.find(' '); - if (split_pos != std::string::npos && split_pos > 0) { + if (split_pos != std::string::npos && split_pos > 0) + { std::string pinyin = tmp.substr(0, split_pos); std::string candidates = tmp.substr(split_pos + 1); trim_in_place(candidates); - if (!candidates.empty()) { - if (pinyin == buffer_) { + if (!candidates.empty()) + { + if (pinyin == buffer_) + { append_candidates(exact_candidates, candidates, kMaxCandidates); - } else if (pinyin.rfind(buffer_, 0) == 0) { + } + else if (pinyin.rfind(buffer_, 0) == 0) + { append_candidates(prefix_candidates, candidates, kMaxCandidates); } } @@ -174,24 +217,33 @@ void PinyinIme::updateCandidatesFromBuiltin() { } break; } - if (c == '\r') { + if (c == '\r') + { continue; } - if (c == '\n') { - if (!line.empty()) { + if (c == '\n') + { + if (!line.empty()) + { std::string tmp = line; trim_in_place(tmp); - if (!tmp.empty() && tmp[0] != '#') { + if (!tmp.empty() && tmp[0] != '#') + { size_t tab_pos = tmp.find('\t'); size_t split_pos = (tab_pos != std::string::npos) ? tab_pos : tmp.find(' '); - if (split_pos != std::string::npos && split_pos > 0) { + if (split_pos != std::string::npos && split_pos > 0) + { std::string pinyin = tmp.substr(0, split_pos); std::string candidates = tmp.substr(split_pos + 1); trim_in_place(candidates); - if (!candidates.empty()) { - if (pinyin == buffer_) { + if (!candidates.empty()) + { + if (pinyin == buffer_) + { append_candidates(exact_candidates, candidates, kMaxCandidates); - } else if (pinyin.rfind(buffer_, 0) == 0) { + } + else if (pinyin.rfind(buffer_, 0) == 0) + { append_candidates(prefix_candidates, candidates, kMaxCandidates); } } @@ -204,13 +256,16 @@ void PinyinIme::updateCandidatesFromBuiltin() { line.push_back(c); } - for (const auto& cand : exact_candidates) { + for (const auto& cand : exact_candidates) + { if (candidates_.size() >= kMaxCandidates) break; candidates_.push_back(cand); } - for (const auto& cand : prefix_candidates) { + for (const auto& cand : prefix_candidates) + { if (candidates_.size() >= kMaxCandidates) break; - if (std::find(candidates_.begin(), candidates_.end(), cand) == candidates_.end()) { + if (std::find(candidates_.begin(), candidates_.end(), cand) == candidates_.end()) + { candidates_.push_back(cand); } } diff --git a/src/ui/widgets/ime/pinyin_ime.h b/src/ui/widgets/ime/pinyin_ime.h index 26bb3ac5..ffa08bb9 100644 --- a/src/ui/widgets/ime/pinyin_ime.h +++ b/src/ui/widgets/ime/pinyin_ime.h @@ -8,11 +8,14 @@ #include #include -namespace ui { -namespace widgets { +namespace ui +{ +namespace widgets +{ -class PinyinIme { -public: +class PinyinIme +{ + public: void setEnabled(bool enabled); bool isEnabled() const; @@ -29,7 +32,7 @@ public: bool commitCandidate(int index, std::string& out); bool commitActive(std::string& out); -private: + private: void updateCandidates(); void updateCandidatesFromBuiltin(); diff --git a/src/ui/widgets/map/map_tiles.cpp b/src/ui/widgets/map/map_tiles.cpp index 9f4a5636..262fd0d3 100644 --- a/src/ui/widgets/map/map_tiles.cpp +++ b/src/ui/widgets/map/map_tiles.cpp @@ -7,10 +7,10 @@ #include "../../screens/gps/gps_constants.h" #include "lvgl.h" #include -#include -#include #include -#include // For memcpy +#include +#include +#include // For memcpy // Use LVGL's decoder API to decode PNG images // We'll decode PNG to RGB565 and cache it in RAM to avoid re-decoding on every render @@ -37,7 +37,8 @@ static uint32_t g_cache_full_log_ms = 0; static void init_tile_decode_cache() { if (g_tile_cache_initialized) return; - for (int i = 0; i < TILE_DECODE_CACHE_SIZE; i++) { + for (int i = 0; i < TILE_DECODE_CACHE_SIZE; i++) + { g_tile_decode_cache[i].x = -1; g_tile_decode_cache[i].y = -1; g_tile_decode_cache[i].z = -1; @@ -55,12 +56,14 @@ static void init_tile_decode_cache() static DecodedTileCache* find_cached_tile(int x, int y, int z) { if (!g_tile_cache_initialized) init_tile_decode_cache(); - - for (int i = 0; i < TILE_DECODE_CACHE_SIZE; i++) { - if (g_tile_decode_cache[i].x == x && - g_tile_decode_cache[i].y == y && + + for (int i = 0; i < TILE_DECODE_CACHE_SIZE; i++) + { + if (g_tile_decode_cache[i].x == x && + g_tile_decode_cache[i].y == y && g_tile_decode_cache[i].z == z && - g_tile_decode_cache[i].img_dsc != NULL) { + g_tile_decode_cache[i].img_dsc != NULL) + { g_tile_decode_cache[i].last_used_ms = millis(); return &g_tile_decode_cache[i]; } @@ -75,63 +78,71 @@ static DecodedTileCache* find_cached_tile(int x, int y, int z) static DecodedTileCache* get_lru_cache_slot() { if (!g_tile_cache_initialized) init_tile_decode_cache(); - + uint32_t oldest_ms = UINT32_MAX; int lru_idx = -1; bool found_unused = false; - - for (int i = 0; i < TILE_DECODE_CACHE_SIZE; i++) { - if (g_tile_decode_cache[i].img_dsc == NULL) { - return &g_tile_decode_cache[i]; // Empty slot + + for (int i = 0; i < TILE_DECODE_CACHE_SIZE; i++) + { + if (g_tile_decode_cache[i].img_dsc == NULL) + { + return &g_tile_decode_cache[i]; // Empty slot } - if (!g_tile_decode_cache[i].in_use) { + if (!g_tile_decode_cache[i].in_use) + { found_unused = true; - if (g_tile_decode_cache[i].last_used_ms < oldest_ms) { + if (g_tile_decode_cache[i].last_used_ms < oldest_ms) + { oldest_ms = g_tile_decode_cache[i].last_used_ms; lru_idx = i; } } } - + // If all slots are in use, return NULL to avoid use-after-free - if (!found_unused || lru_idx == -1) { + if (!found_unused || lru_idx == -1) + { uint32_t now_ms = millis(); g_cache_full_until_ms = now_ms + 500; - if (now_ms - g_cache_full_log_ms >= 1000) { + if (now_ms - g_cache_full_log_ms >= 1000) + { GPS_LOG("[GPS] All cache slots are in use, cannot evict safely\n"); g_cache_full_log_ms = now_ms; } return NULL; } - + // Evict LRU entry (only if it's not in use) - if (g_tile_decode_cache[lru_idx].img_dsc != NULL) { + if (g_tile_decode_cache[lru_idx].img_dsc != NULL) + { GPS_LOG("[GPS] Evicting cached tile %d/%d/%d from decode cache\n", g_tile_decode_cache[lru_idx].z, g_tile_decode_cache[lru_idx].x, g_tile_decode_cache[lru_idx].y); // Free the image descriptor (data was allocated by us) - if (g_tile_decode_cache[lru_idx].img_dsc->data != NULL) { + if (g_tile_decode_cache[lru_idx].img_dsc->data != NULL) + { lv_free((void*)g_tile_decode_cache[lru_idx].img_dsc->data); } lv_free(g_tile_decode_cache[lru_idx].img_dsc); g_tile_decode_cache[lru_idx].img_dsc = NULL; } - + return &g_tile_decode_cache[lru_idx]; } /** * Normalize tile coordinates to valid range (wrap x, clamp y) */ -void normalize_tile(int z, int &x, int &y) +void normalize_tile(int z, int& x, int& y) { - int n = 1 << z; // z<=18 OK, n = 2^z + int n = 1 << z; // z<=18 OK, n = 2^z if (n <= 0) return; - + // Wrap x coordinate (longitude wraps around) x = ((x % n) + n) % n; - + // Clamp y coordinate (latitude is bounded) if (y < 0) y = 0; if (y >= n) y = n - 1; @@ -141,22 +152,22 @@ void normalize_tile(int z, int &x, int &y) * Convert latitude/longitude to tile coordinates * Returns wrapped/clamped tile coordinates */ -void latLngToTile(double lat, double lng, int zoom, int &tile_x, int &tile_y) +void latLngToTile(double lat, double lng, int zoom, int& tile_x, int& tile_y) { // Clamp latitude to WebMercator valid range to avoid pole issues const double MAX_LAT = 85.05112878; if (lat > MAX_LAT) lat = MAX_LAT; if (lat < -MAX_LAT) lat = -MAX_LAT; - + // Wrap longitude to [-180, 180) to handle GPS errors and date line crossing while (lng < -180.0) lng += 360.0; while (lng >= 180.0) lng -= 360.0; - + double n = pow(2.0, zoom); double lat_rad = lat * M_PI / 180.0; tile_x = (int)((lng + 180.0) / 360.0 * n); tile_y = (int)((1.0 - log(tan(lat_rad) + 1.0 / cos(lat_rad)) / M_PI) / 2.0 * n); - + // Use normalize_tile for consistency normalize_tile(zoom, tile_x, tile_y); } @@ -165,21 +176,21 @@ void latLngToTile(double lat, double lng, int zoom, int &tile_x, int &tile_y) * Convert tile coordinates to latitude/longitude (inverse of latLngToTile) * This is used to calculate the center of the current map view */ -void tileToLatLng(int tile_x, int tile_y, int zoom, double &lat, double &lng) +void tileToLatLng(int tile_x, int tile_y, int zoom, double& lat, double& lng) { double n = pow(2.0, zoom); - + // Convert tile coordinates to longitude (center of tile, not top-left corner) // Add 0.5 to get tile center instead of top-left corner lng = ((tile_x + 0.5) / n) * 360.0 - 180.0; - + // Convert tile coordinates to latitude (center of tile, not top-left corner) // Inverse of: tile_y = (1.0 - log(tan(lat_rad) + 1.0 / cos(lat_rad)) / M_PI) / 2.0 * n // Add 0.5 to get tile center instead of top-left corner double y_ratio = (tile_y + 0.5) / n; double lat_rad = atan(sinh(M_PI * (1.0 - 2.0 * y_ratio))); lat = lat_rad * 180.0 / M_PI; - + // Clamp latitude to valid range const double MAX_LAT = 85.05112878; if (lat > MAX_LAT) lat = MAX_LAT; @@ -190,48 +201,49 @@ void tileToLatLng(int tile_x, int tile_y, int zoom, double &lat, double &lng) * Calculate the latitude/longitude of the current screen center * Uses the current anchor and pan offsets to determine what's at screen center */ -void get_screen_center_lat_lng(const TileContext& ctx, double &lat, double &lng) +void get_screen_center_lat_lng(const TileContext& ctx, double& lat, double& lng) { - if (!ctx.map_container || !ctx.anchor || !ctx.anchor->valid) { + if (!ctx.map_container || !ctx.anchor || !ctx.anchor->valid) + { // If anchor is invalid, return default London coordinates lat = gps_ui::kDefaultLat; lng = gps_ui::kDefaultLng; return; } - + lv_coord_t w = lv_obj_get_width(ctx.map_container); lv_coord_t h = lv_obj_get_height(ctx.map_container); - + // CRITICAL FIX: Calculate pan from anchor // GPS point is placed at (w/2 + pan_x) on screen // So: pan_x = gps_tile_screen_x + gps_offset_x - w/2 int32_t pan_x = (int32_t)(ctx.anchor->gps_tile_screen_x + ctx.anchor->gps_offset_x) - (int32_t)(w / 2); int32_t pan_y = (int32_t)(ctx.anchor->gps_tile_screen_y + ctx.anchor->gps_offset_y) - (int32_t)(h / 2); - + // Screen center corresponds to: GPS global pixel - pan // This is the correct geometric relationship from update_map_anchor() int64_t cx = (int64_t)ctx.anchor->gps_global_pixel_x - (int64_t)pan_x; int64_t cy = (int64_t)ctx.anchor->gps_global_pixel_y - (int64_t)pan_y; - + // World pixel width at current zoom level int32_t world_px = (int32_t)(ctx.anchor->n * TILE_SIZE); - + // X must wrap (world is a cylinder, longitude wraps) int64_t x = cx % world_px; if (x < 0) x += world_px; - + // Y must clamp (Mercator projection has bounds at poles) int64_t y = cy; if (y < 0) y = 0; if (y >= world_px) y = world_px - 1; - + // Convert world pixel coordinates to lat/lng (WebMercator inverse) lng = ((double)x / (double)world_px) * 360.0 - 180.0; - + double y_ratio = (double)y / (double)world_px; double lat_rad = atan(sinh(M_PI * (1.0 - 2.0 * y_ratio))); lat = lat_rad * 180.0 / M_PI; - + // Clamp latitude to valid range (safety check) const double MAX_LAT = 85.05112878; if (lat > MAX_LAT) lat = MAX_LAT; @@ -241,9 +253,9 @@ void get_screen_center_lat_lng(const TileContext& ctx, double &lat, double &lng) /** * Convert tile coordinates to pixel coordinates */ -void tileToPixel(int tile_x, int tile_y, int zoom, int &pixel_x, int &pixel_y) +void tileToPixel(int tile_x, int tile_y, int zoom, int& pixel_x, int& pixel_y) { - (void)zoom; // Unused but kept for API consistency + (void)zoom; // Unused but kept for API consistency // TILE_SIZE = 256 = 2^8, so tile_x * 256 = tile_x << 8 pixel_x = tile_x << 8; pixel_y = tile_y << 8; @@ -259,7 +271,8 @@ bool tile_screen_pos_xyz(const TileContext& ctx, int x, int y, int z, int& sx, i lv_coord_t w = lv_obj_get_width(ctx.map_container); lv_coord_t h = lv_obj_get_height(ctx.map_container); - if (!ctx.anchor || !ctx.anchor->valid) { + if (!ctx.anchor || !ctx.anchor->valid) + { // No GPS: center tile 0/0/0 sx = (w - TILE_SIZE) / 2; sy = (h - TILE_SIZE) / 2; @@ -268,13 +281,13 @@ bool tile_screen_pos_xyz(const TileContext& ctx, int x, int y, int z, int& sx, i // CRITICAL FIX: Handle tile coordinate wrapping (normalize_tile can cause neighbor tiles to wrap) // Use shortest wrap distance to preserve neighbor relationships across date line - int n = 1 << z; // Number of tiles at this zoom level - + int n = 1 << z; // Number of tiles at this zoom level + // Calculate dx with shortest wrap (handles date line crossing) int dx = x - ctx.anchor->gps_tile_x; - if (dx > n / 2) dx -= n; // Wrap: if dx > n/2, go the other way - if (dx < -n / 2) dx += n; // Wrap: if dx < -n/2, go the other way - + if (dx > n / 2) dx -= n; // Wrap: if dx > n/2, go the other way + if (dx < -n / 2) dx += n; // Wrap: if dx < -n/2, go the other way + // For y, no wrapping needed (latitude is clamped, not wrapped) int dy = y - ctx.anchor->gps_tile_y; @@ -295,42 +308,43 @@ bool tile_screen_pos_xyz(const TileContext& ctx, int x, int y, int z, int& sx, i */ bool gps_screen_pos(const TileContext& ctx, double lat, double lng, int& sx, int& sy) { - if (!ctx.map_container || !ctx.anchor || !ctx.anchor->valid) { + if (!ctx.map_container || !ctx.anchor || !ctx.anchor->valid) + { return false; } - + lv_coord_t screen_width = lv_obj_get_width(ctx.map_container); lv_coord_t screen_height = lv_obj_get_height(ctx.map_container); int zoom = ctx.anchor->z; - + // Clamp latitude to WebMercator valid range double lat_clamped = lat; const double MAX_LAT = 85.05112878; if (lat_clamped > MAX_LAT) lat_clamped = MAX_LAT; if (lat_clamped < -MAX_LAT) lat_clamped = -MAX_LAT; - + // Wrap longitude to [-180, 180) double lng_wrapped = lng; while (lng_wrapped < -180.0) lng_wrapped += 360.0; while (lng_wrapped >= 180.0) lng_wrapped -= 360.0; - + // Calculate GPS global pixel coordinates (same as update_map_anchor) double n = pow(2.0, zoom); double lat_rad = lat_clamped * M_PI / 180.0; double gps_pixel_x = ((lng_wrapped + 180.0) / 360.0 * n) * TILE_SIZE; double gps_pixel_y = ((1.0 - log(tan(lat_rad) + 1.0 / cos(lat_rad)) / M_PI) / 2.0 * n) * TILE_SIZE; - + int32_t gps_global_pixel_x = (int32_t)floor(gps_pixel_x); int32_t gps_global_pixel_y = (int32_t)floor(gps_pixel_y); - + // Calculate screen position relative to anchor // GPS position = anchor position + (GPS pixel - anchor pixel) int32_t dx = gps_global_pixel_x - ctx.anchor->gps_global_pixel_x; int32_t dy = gps_global_pixel_y - ctx.anchor->gps_global_pixel_y; - + sx = ctx.anchor->gps_tile_screen_x + ctx.anchor->gps_offset_x + dx; sy = ctx.anchor->gps_tile_screen_y + ctx.anchor->gps_offset_y + dy; - + return true; } @@ -349,8 +363,10 @@ bool tile_in_rect(int sx, int sy, int w, int h, int margin) static MapTile* find_tile(TileContext& ctx, int x, int y, int z) { if (!ctx.tiles) return NULL; - for (auto &tile : *ctx.tiles) { - if (tile.x == x && tile.y == y && tile.z == z) { + for (auto& tile : *ctx.tiles) + { + if (tile.x == x && tile.y == y && tile.z == z) + { return &tile; } } @@ -362,21 +378,23 @@ static MapTile* find_tile(TileContext& ctx, int x, int y, int z) */ static MapTile& ensure_tile(TileContext& ctx, int x, int y, int z, int priority) { - if (!ctx.tiles) { + if (!ctx.tiles) + { GPS_LOG("[GPS] ERROR: ctx.tiles is NULL in ensure_tile\n"); static MapTile dummy; return dummy; } - + MapTile* existing = find_tile(ctx, x, y, z); - if (existing != NULL) { + if (existing != NULL) + { existing->visible = true; existing->ever_visible = true; existing->last_used_ms = millis(); existing->priority = priority; return *existing; } - + // Create new tile record MapTile t{}; t.x = x; @@ -390,7 +408,7 @@ static MapTile& ensure_tile(TileContext& ctx, int x, int y, int z, int priority) t.record_evicted = false; t.priority = priority; t.has_png_file = false; - t.cached_img = NULL; // No cached image initially + t.cached_img = NULL; // No cached image initially ctx.tiles->push_back(t); return ctx.tiles->back(); } @@ -420,43 +438,49 @@ static void style_placeholder_label(lv_obj_t* label) /** * Load tile image from SD card */ -static void load_tile_image(TileContext& ctx, MapTile &tile) +static void load_tile_image(TileContext& ctx, MapTile& tile) { - if (!ctx.map_container || !ctx.tiles) { + if (!ctx.map_container || !ctx.tiles) + { GPS_LOG("[GPS] ERROR: Invalid context in load_tile_image\n"); return; } - + // If tile already has a loaded image (not just placeholder), skip - if (tile.img_obj != NULL && tile.has_png_file) { + if (tile.img_obj != NULL && tile.has_png_file) + { tile.last_used_ms = millis(); GPS_LOG("[GPS] load_tile_image: Tile %d/%d/%d already loaded\n", tile.z, tile.x, tile.y); return; } - + // If tile already has a placeholder label, check if file exists before recreating // This prevents repeatedly creating placeholders for missing tiles - if (tile.img_obj != NULL && !tile.has_png_file) { + if (tile.img_obj != NULL && !tile.has_png_file) + { // Already has placeholder - check if file now exists char path[64]; snprintf(path, sizeof(path), "A:/maps/%d/%d/%d.png", tile.z, tile.x, tile.y); lv_fs_file_t f; lv_fs_res_t res = lv_fs_open(&f, path, LV_FS_MODE_RD); bool file_exists = (res == LV_FS_RES_OK); - if (file_exists) { + if (file_exists) + { lv_fs_close(&f); // File now exists - proceed to load it (will delete placeholder below) - GPS_LOG("[GPS] load_tile_image: Tile %d/%d/%d file now exists, replacing placeholder\n", - tile.z, tile.x, tile.y); - } else { + GPS_LOG("[GPS] load_tile_image: Tile %d/%d/%d file now exists, replacing placeholder\n", + tile.z, tile.x, tile.y); + } + else + { // File still doesn't exist - skip to avoid repeated placeholder creation tile.last_used_ms = millis(); - GPS_LOG("[GPS] load_tile_image: Tile %d/%d/%d already has placeholder, file still missing, skipping\n", - tile.z, tile.x, tile.y); + GPS_LOG("[GPS] load_tile_image: Tile %d/%d/%d already has placeholder, file still missing, skipping\n", + tile.z, tile.x, tile.y); return; } } - + char path[64]; snprintf(path, sizeof(path), "A:/maps/%d/%d/%d.png", tile.z, tile.x, tile.y); GPS_LOG("[GPS] load_tile_image: Loading tile %d/%d/%d, path=%s\n", tile.z, tile.x, tile.y, path); @@ -464,11 +488,12 @@ static void load_tile_image(TileContext& ctx, MapTile &tile) // Always recalculate screen position (don't use old placeholder position) // This ensures correct position after panning/zooming int screen_x, screen_y; - if (!tile_screen_pos_xyz(ctx, tile.x, tile.y, tile.z, screen_x, screen_y)) { + if (!tile_screen_pos_xyz(ctx, tile.x, tile.y, tile.z, screen_x, screen_y)) + { GPS_LOG("[GPS] ERROR: tile_screen_pos_xyz failed in load_tile_image\n"); return; } - + // Check visibility lv_coord_t screen_width = lv_obj_get_width(ctx.map_container); lv_coord_t screen_height = lv_obj_get_height(ctx.map_container); @@ -478,21 +503,27 @@ static void load_tile_image(TileContext& ctx, MapTile &tile) lv_fs_file_t f; lv_fs_res_t res = lv_fs_open(&f, path, LV_FS_MODE_RD); bool file_exists = (res == LV_FS_RES_OK); - if (file_exists) { + if (file_exists) + { lv_fs_close(&f); GPS_LOG("[GPS] Tile file EXISTS: %s (res=%d)\n", path, res); - } else { + } + else + { GPS_LOG("[GPS] Tile file NOT found: %s (res=%d)\n", path, res); } - - if (file_exists) { + + if (file_exists) + { // Check cache first DecodedTileCache* cached = find_cached_tile(tile.x, tile.y, tile.z); DecodedTileCache* cache_slot = nullptr; - if (cached == NULL) { + if (cached == NULL) + { // No cached image: require an available cache slot, otherwise defer cache_slot = get_lru_cache_slot(); - if (cache_slot == NULL) { + if (cache_slot == NULL) + { GPS_LOG("[GPS] Cache full (all slots in use), deferring tile %d/%d/%d\n", tile.z, tile.x, tile.y); tile.last_used_ms = millis(); @@ -502,7 +533,8 @@ static void load_tile_image(TileContext& ctx, MapTile &tile) // If tile has a placeholder label, delete it (but always recalculate position) lv_obj_t* old_obj = tile.img_obj; - if (old_obj != NULL) { + if (old_obj != NULL) + { // Delete placeholder label before creating image lv_obj_del(old_obj); tile.img_obj = NULL; @@ -514,26 +546,30 @@ static void load_tile_image(TileContext& ctx, MapTile &tile) lv_obj_set_pos(tile.img_obj, screen_x, screen_y); style_tile_obj(tile.img_obj); lv_obj_move_background(tile.img_obj); - - if (cached && cached->img_dsc != NULL) { + + if (cached && cached->img_dsc != NULL) + { // Use cached decoded image (no PNG decode needed) GPS_LOG("[GPS] Using cached decoded image for tile %d/%d/%d\n", tile.z, tile.x, tile.y); lv_image_set_src(tile.img_obj, cached->img_dsc); cached->in_use = true; cached->last_used_ms = millis(); tile.cached_img = cached; - } else { + } + else + { // Decode PNG and cache it in RAM GPS_LOG("[GPS] Decoding and caching tile %d/%d/%d\n", tile.z, tile.x, tile.y); - + // Use LVGL's decoder to decode PNG lv_image_decoder_dsc_t decoder_dsc; memset(&decoder_dsc, 0, sizeof(decoder_dsc)); - + lv_result_t decode_res = lv_image_decoder_open(&decoder_dsc, path, NULL); - if (decode_res == LV_RESULT_OK && decoder_dsc.decoded != NULL) { + if (decode_res == LV_RESULT_OK && decoder_dsc.decoded != NULL) + { // Decode successful - copy decoded data to our cache - + // Get decoded image info (decoded is const) const lv_draw_buf_t* decoded_buf = decoder_dsc.decoded; uint32_t width = decoded_buf->header.w; @@ -541,81 +577,91 @@ static void load_tile_image(TileContext& ctx, MapTile &tile) lv_color_format_t cf = (lv_color_format_t)decoded_buf->header.cf; uint32_t stride = decoded_buf->header.stride; uint32_t data_size = decoded_buf->data_size; - + GPS_LOG("[GPS] Decoded tile %d/%d/%d: %dx%d, cf=%d, stride=%d, size=%d\n", tile.z, tile.x, tile.y, width, height, cf, stride, data_size); - + // Allocate image descriptor (cache_slot->img_dsc should be NULL after eviction) cache_slot->img_dsc = (lv_image_dsc_t*)lv_malloc(sizeof(lv_image_dsc_t)); - if (cache_slot->img_dsc == NULL) { + if (cache_slot->img_dsc == NULL) + { GPS_LOG("[GPS] ERROR: Failed to allocate memory for img_dsc\n"); lv_image_decoder_close(&decoder_dsc); // Fall back to file path lv_image_set_src(tile.img_obj, path); tile.cached_img = NULL; - } else { - // Allocate memory for image data - uint8_t* img_data = (uint8_t*)lv_malloc(data_size); - if (img_data == NULL) { - GPS_LOG("[GPS] ERROR: Failed to allocate memory for image data (%d bytes)\n", data_size); - lv_free(cache_slot->img_dsc); - cache_slot->img_dsc = NULL; - lv_image_decoder_close(&decoder_dsc); - // Fall back to file path - lv_image_set_src(tile.img_obj, path); - tile.cached_img = NULL; - } else { - // Copy decoded data to our cache - memcpy(img_data, decoded_buf->data, data_size); - - // Fill image descriptor (LVGL v9 structure) - cache_slot->img_dsc->header.magic = LV_IMAGE_HEADER_MAGIC; - cache_slot->img_dsc->header.w = width; - cache_slot->img_dsc->header.h = height; - cache_slot->img_dsc->header.cf = cf; - cache_slot->img_dsc->header.flags = 0; - cache_slot->img_dsc->header.stride = stride; - cache_slot->img_dsc->data_size = data_size; - cache_slot->img_dsc->data = (const uint8_t*)img_data; - - // Update cache entry - cache_slot->x = tile.x; - cache_slot->y = tile.y; - cache_slot->z = tile.z; - cache_slot->last_used_ms = millis(); - cache_slot->in_use = true; - tile.cached_img = cache_slot; - - // Close decoder (we've copied the data) - lv_image_decoder_close(&decoder_dsc); - - // Use cached decoded image - lv_image_set_src(tile.img_obj, cache_slot->img_dsc); - GPS_LOG("[GPS] Tile %d/%d/%d decoded and cached successfully\n", tile.z, tile.x, tile.y); + } + else + { + // Allocate memory for image data + uint8_t* img_data = (uint8_t*)lv_malloc(data_size); + if (img_data == NULL) + { + GPS_LOG("[GPS] ERROR: Failed to allocate memory for image data (%d bytes)\n", data_size); + lv_free(cache_slot->img_dsc); + cache_slot->img_dsc = NULL; + lv_image_decoder_close(&decoder_dsc); + // Fall back to file path + lv_image_set_src(tile.img_obj, path); + tile.cached_img = NULL; + } + else + { + // Copy decoded data to our cache + memcpy(img_data, decoded_buf->data, data_size); + + // Fill image descriptor (LVGL v9 structure) + cache_slot->img_dsc->header.magic = LV_IMAGE_HEADER_MAGIC; + cache_slot->img_dsc->header.w = width; + cache_slot->img_dsc->header.h = height; + cache_slot->img_dsc->header.cf = cf; + cache_slot->img_dsc->header.flags = 0; + cache_slot->img_dsc->header.stride = stride; + cache_slot->img_dsc->data_size = data_size; + cache_slot->img_dsc->data = (const uint8_t*)img_data; + + // Update cache entry + cache_slot->x = tile.x; + cache_slot->y = tile.y; + cache_slot->z = tile.z; + cache_slot->last_used_ms = millis(); + cache_slot->in_use = true; + tile.cached_img = cache_slot; + + // Close decoder (we've copied the data) + lv_image_decoder_close(&decoder_dsc); + + // Use cached decoded image + lv_image_set_src(tile.img_obj, cache_slot->img_dsc); + GPS_LOG("[GPS] Tile %d/%d/%d decoded and cached successfully\n", tile.z, tile.x, tile.y); + } } } - } else { + else + { // Decode failed - fall back to file path GPS_LOG("[GPS] WARNING: Failed to decode tile %d/%d/%d, using file path\n", tile.z, tile.x, tile.y); lv_image_decoder_close(&decoder_dsc); - + // Create cache entry placeholder (will be decoded later if possible) - cache_slot->img_dsc = NULL; // Not yet decoded + cache_slot->img_dsc = NULL; // Not yet decoded cache_slot->x = tile.x; cache_slot->y = tile.y; cache_slot->z = tile.z; cache_slot->last_used_ms = millis(); cache_slot->in_use = false; tile.cached_img = cache_slot; - + lv_image_set_src(tile.img_obj, path); } } - + tile.has_png_file = true; - *ctx.has_map_data = true; // Global flag - any tile ever loaded + *ctx.has_map_data = true; // Global flag - any tile ever loaded GPS_LOG("[GPS] Tile %d/%d/%d image loaded successfully\n", tile.z, tile.x, tile.y); - } else { + } + else + { // File missing: use lv_label directly as tile object GPS_LOG("[GPS] Creating placeholder label for missing tile %d/%d/%d\n", tile.z, tile.x, tile.y); tile.has_png_file = false; @@ -623,14 +669,14 @@ static void load_tile_image(TileContext& ctx, MapTile &tile) lv_obj_set_size(tile.img_obj, TILE_SIZE, TILE_SIZE); lv_obj_set_pos(tile.img_obj, screen_x, screen_y); style_placeholder_label(tile.img_obj); - + // Set text content: z/x/y format char coord_text[32]; snprintf(coord_text, sizeof(coord_text), "%d/%d/%d", tile.z, tile.x, tile.y); lv_label_set_text(tile.img_obj, coord_text); GPS_LOG("[GPS] Created placeholder label for tile %d/%d/%d\n", tile.z, tile.x, tile.y); } - + tile.last_used_ms = millis(); tile.obj_evicted_ms = 0; tile.record_evicted = false; @@ -642,69 +688,71 @@ static void load_tile_image(TileContext& ctx, MapTile &tile) */ void update_map_anchor(TileContext& ctx, double lat, double lng, int zoom, int pan_x, int pan_y, bool has_fix) { - if (!ctx.map_container || !ctx.anchor) { + if (!ctx.map_container || !ctx.anchor) + { if (ctx.anchor) ctx.anchor->valid = false; return; } - + lv_coord_t screen_width = lv_obj_get_width(ctx.map_container); lv_coord_t screen_height = lv_obj_get_height(ctx.map_container); - + // Even without GPS fix, if lat/lng are provided (e.g., default London location), // calculate anchor to support rendering at that location // Use epsilon comparison for floating point const double EPSILON = 0.0001; - if (!has_fix && (fabs(lat) < EPSILON && fabs(lng) < EPSILON)) { + if (!has_fix && (fabs(lat) < EPSILON && fabs(lng) < EPSILON)) + { // Only skip calculation if coordinates are truly zero (no default location set) GPS_LOG("[GPS] update_map_anchor: No GPS fix and coordinates are zero, skipping anchor calculation\n"); ctx.anchor->valid = false; return; } - + GPS_LOG("[GPS] update_map_anchor: Calculating anchor (has_fix=%d, lat=%.6f, lng=%.6f, zoom=%d)\n", has_fix, lat, lng, zoom); - + // Use latLngToTile to ensure consistency with tile coordinate calculation // This ensures the same algorithm is used everywhere latLngToTile(lat, lng, zoom, ctx.anchor->gps_tile_x, ctx.anchor->gps_tile_y); - + // Calculate GPS global pixel coordinates for positioning ctx.anchor->n = pow(2.0, zoom); - + // Clamp latitude to WebMercator valid range before pixel calculation double lat_clamped = lat; const double MAX_LAT = 85.05112878; if (lat_clamped > MAX_LAT) lat_clamped = MAX_LAT; if (lat_clamped < -MAX_LAT) lat_clamped = -MAX_LAT; - + // Wrap longitude to [-180, 180) double lng_wrapped = lng; while (lng_wrapped < -180.0) lng_wrapped += 360.0; while (lng_wrapped >= 180.0) lng_wrapped -= 360.0; - + // Calculate GPS global pixel coordinates (expensive operations - done once) double lat_rad = lat_clamped * M_PI / 180.0; double gps_pixel_x = ((lng_wrapped + 180.0) / 360.0 * ctx.anchor->n) * TILE_SIZE; double gps_pixel_y = ((1.0 - log(tan(lat_rad) + 1.0 / cos(lat_rad)) / M_PI) / 2.0 * ctx.anchor->n) * TILE_SIZE; - + // CRITICAL: Cache global pixel coordinates (0..world_px-1) // This is used by get_screen_center_lat_lng() to correctly calculate screen center ctx.anchor->gps_global_pixel_x = (int32_t)floor(gps_pixel_x); ctx.anchor->gps_global_pixel_y = (int32_t)floor(gps_pixel_y); - + // Calculate GPS tile pixel coordinates ctx.anchor->gps_tile_pixel_x = ctx.anchor->gps_tile_x << 8; ctx.anchor->gps_tile_pixel_y = ctx.anchor->gps_tile_y << 8; - + // Calculate GPS offset within tile // Use floor() instead of (int) truncation to avoid 1px jitter at boundaries ctx.anchor->gps_offset_x = ctx.anchor->gps_global_pixel_x - ctx.anchor->gps_tile_pixel_x; ctx.anchor->gps_offset_y = ctx.anchor->gps_global_pixel_y - ctx.anchor->gps_tile_pixel_y; - + // Calculate GPS tile screen position ctx.anchor->gps_tile_screen_x = screen_width / 2 - ctx.anchor->gps_offset_x + pan_x; ctx.anchor->gps_tile_screen_y = screen_height / 2 - ctx.anchor->gps_offset_y + pan_y; - + ctx.anchor->z = zoom; ctx.anchor->valid = true; } @@ -719,25 +767,29 @@ static void mark_all_invisible(TileContext& ctx, int target_zoom) // First pass: immediately delete objects from different zoom levels // This frees memory immediately when zoom changes, preventing accumulation - for (auto &tile : *ctx.tiles) { + for (auto& tile : *ctx.tiles) + { // Mark cache entry as not in use before marking invisible - if (tile.cached_img != NULL) { + if (tile.cached_img != NULL) + { tile.cached_img->in_use = false; } - + tile.visible = false; // Delete tile objects that don't match target zoom level immediately // This prevents memory buildup when switching zoom levels frequently - if (tile.img_obj != NULL && tile.z != target_zoom) { + if (tile.img_obj != NULL && tile.z != target_zoom) + { lv_obj_del(tile.img_obj); tile.img_obj = NULL; tile.has_png_file = false; - tile.cached_img = NULL; // Clear cache reference - tile.obj_evicted_ms = millis(); // Mark as evicted for record cleanup protection + tile.cached_img = NULL; // Clear cache reference + tile.obj_evicted_ms = millis(); // Mark as evicted for record cleanup protection } } - - if (ctx.has_visible_map_data) { + + if (ctx.has_visible_map_data) + { *ctx.has_visible_map_data = false; } } @@ -747,72 +799,81 @@ static void mark_all_invisible(TileContext& ctx, int target_zoom) */ static void collect_required_tiles(TileContext& ctx, double lat, double lng, int zoom, int pan_x, int pan_y, bool has_fix) { - if (!ctx.map_container || !ctx.tiles || !ctx.anchor) { + if (!ctx.map_container || !ctx.tiles || !ctx.anchor) + { GPS_LOG("[GPS] collect_required_tiles: Invalid context\n"); return; } lv_coord_t screen_width = lv_obj_get_width(ctx.map_container); lv_coord_t screen_height = lv_obj_get_height(ctx.map_container); - + GPS_LOG("[GPS] collect_required_tiles: has_fix=%d, zoom=%d, lat=%.6f, lng=%.6f, screen=%dx%d\n", - has_fix, zoom, lat, lng, screen_width, screen_height); + has_fix, zoom, lat, lng, screen_width, screen_height); // Check if anchor is valid (either from GPS fix or from default location like London) - if (!ctx.anchor->valid) { + if (!ctx.anchor->valid) + { // If anchor is invalid and no GPS fix, fall back to world map tile 0/0/zoom // Use the current zoom level, not hardcoded 0 - if (!has_fix) { + if (!has_fix) + { GPS_LOG("[GPS] No GPS fix and invalid anchor: rendering world map tile 0/0/%d\n", zoom); - ensure_tile(ctx, 0, 0, zoom, 0); // Priority 0 = center tile, use current zoom + ensure_tile(ctx, 0, 0, zoom, 0); // Priority 0 = center tile, use current zoom return; - } else { + } + else + { GPS_LOG("[GPS] ERROR: cached_anchor invalid in collect_required_tiles (has_fix=true)\n"); return; } } - + int gps_tile_x = ctx.anchor->gps_tile_x; int gps_tile_y = ctx.anchor->gps_tile_y; // Ensure GPS center tile exists - ensure_tile(ctx, gps_tile_x, gps_tile_y, zoom, 0); // Priority 0 = center + ensure_tile(ctx, gps_tile_x, gps_tile_y, zoom, 0); // Priority 0 = center // Dynamic tile collection based on screen viewport // Calculate which tiles are needed to cover the entire screen (with buffer for preloading) // Start from screen corners and work inward to find all tiles that intersect the viewport - + // Calculate screen bounds with buffer (TILE_SIZE buffer for preloading) int screen_left = -TILE_SIZE; int screen_right = screen_width + TILE_SIZE; int screen_top = -TILE_SIZE; int screen_bottom = screen_height + TILE_SIZE; - + // Calculate tile range needed to cover screen // Convert screen coordinates to tile coordinates // For each possible tile position, check if it intersects the screen - + // Start from GPS tile and expand outward until we cover the entire screen // Use a reasonable maximum range (e.g., 10 tiles in each direction) const int MAX_TILE_RANGE = 10; - + // Collect all tiles that intersect the viewport - for (int dy = -MAX_TILE_RANGE; dy <= MAX_TILE_RANGE; dy++) { - for (int dx = -MAX_TILE_RANGE; dx <= MAX_TILE_RANGE; dx++) { + for (int dy = -MAX_TILE_RANGE; dy <= MAX_TILE_RANGE; dy++) + { + for (int dx = -MAX_TILE_RANGE; dx <= MAX_TILE_RANGE; dx++) + { int tile_x = gps_tile_x + dx; int tile_y = gps_tile_y + dy; - + // Normalize tile coordinates normalize_tile(zoom, tile_x, tile_y); - + // Calculate screen position for this tile int screen_x, screen_y; - if (!tile_screen_pos_xyz(ctx, tile_x, tile_y, zoom, screen_x, screen_y)) { - continue; // Skip if position calculation fails + if (!tile_screen_pos_xyz(ctx, tile_x, tile_y, zoom, screen_x, screen_y)) + { + continue; // Skip if position calculation fails } - + // Check if tile intersects viewport (with buffer for preloading) - if (tile_in_rect(screen_x, screen_y, screen_width, screen_height, TILE_SIZE)) { + if (tile_in_rect(screen_x, screen_y, screen_width, screen_height, TILE_SIZE)) + { // Calculate priority (Manhattan distance from GPS tile) int priority = abs(dx) + abs(dy); ensure_tile(ctx, tile_x, tile_y, zoom, priority); @@ -827,95 +888,114 @@ static void collect_required_tiles(TileContext& ctx, double lat, double lng, int static void layout_loaded_tile_objects(TileContext& ctx) { if (!ctx.map_container || !ctx.tiles || !ctx.anchor) return; - + lv_coord_t screen_width = lv_obj_get_width(ctx.map_container); lv_coord_t screen_height = lv_obj_get_height(ctx.map_container); - int current_zoom = ctx.anchor->z; // Current zoom level - - for (auto &tile : *ctx.tiles) { + int current_zoom = ctx.anchor->z; // Current zoom level + + for (auto& tile : *ctx.tiles) + { // CRITICAL: Skip tiles from different zoom levels - if (tile.z != current_zoom) { - if (tile.img_obj != NULL) { + if (tile.z != current_zoom) + { + if (tile.img_obj != NULL) + { lv_obj_add_flag(tile.img_obj, LV_OBJ_FLAG_HIDDEN); } tile.visible = false; continue; } - + // Calculate screen position int screen_x, screen_y; - if (!tile_screen_pos_xyz(ctx, tile.x, tile.y, tile.z, screen_x, screen_y)) { + if (!tile_screen_pos_xyz(ctx, tile.x, tile.y, tile.z, screen_x, screen_y)) + { // If position calculation fails, hide the tile - if (tile.img_obj != NULL) { + if (tile.img_obj != NULL) + { lv_obj_add_flag(tile.img_obj, LV_OBJ_FLAG_HIDDEN); } tile.visible = false; continue; } - + // Check strict visibility (margin = 0 for actual display) bool is_visible = tile_in_rect(screen_x, screen_y, screen_width, screen_height, 0); tile.visible = is_visible; - + // Update cache in_use flag based on visibility - if (tile.cached_img != NULL) { + if (tile.cached_img != NULL) + { tile.cached_img->in_use = is_visible; - if (is_visible) { + if (is_visible) + { tile.cached_img->last_used_ms = millis(); } } - - if (is_visible) { + + if (is_visible) + { // If tile is visible but has no object yet, create lightweight placeholder // Actual loading (I/O + decode) will be done asynchronously by tile_loader_step() - if (tile.img_obj == NULL) { + if (tile.img_obj == NULL) + { // Create lightweight placeholder label (no I/O, no decode, no blocking) tile.img_obj = lv_label_create(ctx.map_container); lv_obj_set_size(tile.img_obj, TILE_SIZE, TILE_SIZE); lv_obj_set_pos(tile.img_obj, screen_x, screen_y); style_placeholder_label(tile.img_obj); lv_obj_move_background(tile.img_obj); - + // Set text content: z/x/y format char coord_text[32]; snprintf(coord_text, sizeof(coord_text), "%d/%d/%d", tile.z, tile.x, tile.y); lv_label_set_text(tile.img_obj, coord_text); - + // Mark that this tile needs loading (will be done by tile_loader_step) - tile.has_png_file = false; // Will be set to true when actually loaded - } else { + tile.has_png_file = false; // Will be set to true when actually loaded + } + else + { // Update position for existing objects lv_obj_set_pos(tile.img_obj, screen_x, screen_y); lv_obj_clear_flag(tile.img_obj, LV_OBJ_FLAG_HIDDEN); } tile.last_used_ms = millis(); - } else { + } + else + { // Hide invisible tiles - if (tile.img_obj != NULL) { + if (tile.img_obj != NULL) + { lv_obj_add_flag(tile.img_obj, LV_OBJ_FLAG_HIDDEN); } } } - + // Check if any visible tile has PNG file bool visible_png_found = false; int visible_count = 0; int visible_with_png = 0; - for (auto &tile : *ctx.tiles) { - if (tile.visible) { + for (auto& tile : *ctx.tiles) + { + if (tile.visible) + { visible_count++; - if (tile.has_png_file) { + if (tile.has_png_file) + { visible_png_found = true; visible_with_png++; } } } - if (ctx.has_visible_map_data) { + if (ctx.has_visible_map_data) + { bool old_value = *ctx.has_visible_map_data; *ctx.has_visible_map_data = visible_png_found; - if (old_value != visible_png_found) { - GPS_LOG("[GPS] has_visible_map_data changed: %d -> %d (visible=%d, with_png=%d)\n", - old_value, visible_png_found, visible_count, visible_with_png); + if (old_value != visible_png_found) + { + GPS_LOG("[GPS] has_visible_map_data changed: %d -> %d (visible=%d, with_png=%d)\n", + old_value, visible_png_found, visible_count, visible_with_png); } } } @@ -926,104 +1006,125 @@ static void layout_loaded_tile_objects(TileContext& ctx) static void evict_cache(TileContext& ctx) { if (!ctx.tiles) return; - + // Tier 1: Limit lv_obj count size_t obj_count = 0; - for (const auto &tile : *ctx.tiles) { + for (const auto& tile : *ctx.tiles) + { if (tile.img_obj != NULL) obj_count++; } - - if (obj_count > TILE_CACHE_LIMIT) { + + if (obj_count > TILE_CACHE_LIMIT) + { // Collect invisible tiles with objects, sorted by last_used_ms (oldest first) // Priority: different zoom level tiles are already deleted in mark_all_invisible, // so we only need to handle same-zoom invisible tiles here std::vector> obj_candidates; int current_zoom = ctx.anchor && ctx.anchor->valid ? ctx.anchor->z : -1; - for (size_t i = 0; i < ctx.tiles->size(); i++) { + for (size_t i = 0; i < ctx.tiles->size(); i++) + { // Only consider invisible tiles from current zoom level // (different zoom tiles are already deleted in mark_all_invisible) - if (!(*ctx.tiles)[i].visible && - (*ctx.tiles)[i].img_obj != NULL && - (*ctx.tiles)[i].z == current_zoom) { + if (!(*ctx.tiles)[i].visible && + (*ctx.tiles)[i].img_obj != NULL && + (*ctx.tiles)[i].z == current_zoom) + { obj_candidates.push_back({(*ctx.tiles)[i].last_used_ms, i}); } } - + // Sort by last_used_ms (oldest first) - std::sort(obj_candidates.begin(), obj_candidates.end(), - [](const std::pair &a, const std::pair &b) { - return a.first < b.first; + std::sort(obj_candidates.begin(), obj_candidates.end(), + [](const std::pair& a, const std::pair& b) + { + return a.first < b.first; }); - + // Delete oldest invisible tiles until under limit size_t to_delete = obj_count - TILE_CACHE_LIMIT; - for (size_t i = 0; i < to_delete && i < obj_candidates.size(); i++) { + for (size_t i = 0; i < to_delete && i < obj_candidates.size(); i++) + { size_t idx = obj_candidates[i].second; - if ((*ctx.tiles)[idx].img_obj != NULL) { + if ((*ctx.tiles)[idx].img_obj != NULL) + { // Mark cache entry as not in use - if ((*ctx.tiles)[idx].cached_img != NULL) { + if ((*ctx.tiles)[idx].cached_img != NULL) + { (*ctx.tiles)[idx].cached_img->in_use = false; } lv_obj_del((*ctx.tiles)[idx].img_obj); (*ctx.tiles)[idx].img_obj = NULL; - (*ctx.tiles)[idx].cached_img = NULL; // Clear cache reference + (*ctx.tiles)[idx].cached_img = NULL; // Clear cache reference (*ctx.tiles)[idx].has_png_file = false; (*ctx.tiles)[idx].obj_evicted_ms = millis(); } } } - + // Tier 2: Limit tile record count - if (ctx.tiles->size() > TILE_RECORD_LIMIT) { + if (ctx.tiles->size() > TILE_RECORD_LIMIT) + { // Collect candidates for record eviction std::vector> record_candidates_never; std::vector> record_candidates_ever; - + uint32_t now = millis(); - for (size_t i = 0; i < ctx.tiles->size(); i++) { - if ((*ctx.tiles)[i].img_obj == NULL && !(*ctx.tiles)[i].record_evicted) { + for (size_t i = 0; i < ctx.tiles->size(); i++) + { + if ((*ctx.tiles)[i].img_obj == NULL && !(*ctx.tiles)[i].record_evicted) + { // Protect recently obj_evicted tiles (within 3 seconds) - if ((*ctx.tiles)[i].obj_evicted_ms > 0 && (now - (*ctx.tiles)[i].obj_evicted_ms) < 3000) { + if ((*ctx.tiles)[i].obj_evicted_ms > 0 && (now - (*ctx.tiles)[i].obj_evicted_ms) < 3000) + { continue; } - - if (!(*ctx.tiles)[i].ever_visible) { + + if (!(*ctx.tiles)[i].ever_visible) + { record_candidates_never.push_back({(*ctx.tiles)[i].last_used_ms, i}); - } else { + } + else + { record_candidates_ever.push_back({(*ctx.tiles)[i].last_used_ms, i}); } } } - + // Sort by last_used_ms (oldest first) std::sort(record_candidates_never.begin(), record_candidates_never.end(), - [](const std::pair &a, const std::pair &b) { + [](const std::pair& a, const std::pair& b) + { return a.first < b.first; }); std::sort(record_candidates_ever.begin(), record_candidates_ever.end(), - [](const std::pair &a, const std::pair &b) { + [](const std::pair& a, const std::pair& b) + { return a.first < b.first; }); - + // Mark records for deletion: first never-visible, then ever-visible size_t to_delete = ctx.tiles->size() - TILE_RECORD_LIMIT; size_t deleted = 0; - - for (const auto &candidate : record_candidates_never) { + + for (const auto& candidate : record_candidates_never) + { if (deleted >= to_delete) break; (*ctx.tiles)[candidate.second].record_evicted = true; deleted++; } - - for (const auto &candidate : record_candidates_ever) { + + for (const auto& candidate : record_candidates_ever) + { if (deleted >= to_delete) break; (*ctx.tiles)[candidate.second].record_evicted = true; deleted++; } - + // Remove evicted records ctx.tiles->erase(std::remove_if(ctx.tiles->begin(), ctx.tiles->end(), - [](const MapTile &t) { return t.record_evicted; }), ctx.tiles->end()); + [](const MapTile& t) + { return t.record_evicted; }), + ctx.tiles->end()); } } @@ -1033,42 +1134,46 @@ static void evict_cache(TileContext& ctx) */ void calculate_required_tiles(TileContext& ctx, double lat, double lng, int zoom, int pan_x, int pan_y, bool has_fix) { - if (!ctx.map_container || !ctx.tiles || !ctx.anchor) { + if (!ctx.map_container || !ctx.tiles || !ctx.anchor) + { GPS_LOG("[GPS] calculate_required_tiles: Invalid context\n"); return; } - + GPS_LOG("[GPS] calculate_required_tiles: has_fix=%d, zoom=%d, lat=%.6f, lng=%.6f\n", - has_fix, zoom, lat, lng); + has_fix, zoom, lat, lng); // Mark all tiles invisible and hide objects from different zoom levels mark_all_invisible(ctx, zoom); - + update_map_anchor(ctx, lat, lng, zoom, pan_x, pan_y, has_fix); - + collect_required_tiles(ctx, lat, lng, zoom, pan_x, pan_y, has_fix); - + layout_loaded_tile_objects(ctx); - + evict_cache(ctx); - + // Update GPS marker position after tiles are laid out (rendered after map) // This ensures marker is on top and moves with the map // Note: update_gps_marker_position() is defined in gps_page_map.cpp // It will be called from there after map updates to avoid circular dependencies - + // Count tiles to load for logging // Count visible tiles that don't have PNG loaded yet (may have placeholder) int tiles_to_load = 0; - if (ctx.tiles) { - for (auto &tile : *ctx.tiles) { - if (tile.visible && !tile.has_png_file) { + if (ctx.tiles) + { + for (auto& tile : *ctx.tiles) + { + if (tile.visible && !tile.has_png_file) + { tiles_to_load++; } } } - - GPS_LOG("[GPS] Finished calculating tiles: to_load=%d, total=%d\n", + + GPS_LOG("[GPS] Finished calculating tiles: to_load=%d, total=%d\n", tiles_to_load, ctx.tiles ? ctx.tiles->size() : 0); } @@ -1077,66 +1182,80 @@ void calculate_required_tiles(TileContext& ctx, double lat, double lng, int zoom */ void tile_loader_step(TileContext& ctx) { - if (!ctx.map_container || !ctx.tiles) { + if (!ctx.map_container || !ctx.tiles) + { return; } - if (g_cache_full_until_ms != 0) { + if (g_cache_full_until_ms != 0) + { uint32_t now_ms = millis(); - if ((int32_t)(now_ms - g_cache_full_until_ms) < 0) { + if ((int32_t)(now_ms - g_cache_full_until_ms) < 0) + { return; } } - + // Find visible unloaded tiles with minimum priority // Look for tiles that are visible but don't have PNG loaded yet // (they may have a placeholder label, but not the actual image) MapTile* best = nullptr; - for (auto &tile : *ctx.tiles) { - if (tile.visible && !tile.has_png_file) { + for (auto& tile : *ctx.tiles) + { + if (tile.visible && !tile.has_png_file) + { // If tile already has a placeholder, quickly check if file exists // to avoid repeatedly trying to load missing files - if (tile.img_obj != NULL) { + if (tile.img_obj != NULL) + { // Has placeholder - check if file exists before selecting char path[64]; snprintf(path, sizeof(path), "A:/maps/%d/%d/%d.png", tile.z, tile.x, tile.y); lv_fs_file_t f; lv_fs_res_t res = lv_fs_open(&f, path, LV_FS_MODE_RD); bool file_exists = (res == LV_FS_RES_OK); - if (file_exists) { + if (file_exists) + { lv_fs_close(&f); // File exists - this tile can be upgraded from placeholder to image - } else { + } + else + { // File doesn't exist - skip this tile to avoid repeated attempts continue; } } - - if (best == nullptr || + + if (best == nullptr || tile.priority < best->priority || - (tile.priority == best->priority && tile.last_used_ms < best->last_used_ms)) { + (tile.priority == best->priority && tile.last_used_ms < best->last_used_ms)) + { best = &tile; } } } - - if (best != nullptr) { + + if (best != nullptr) + { // Save old object position for invalidation lv_obj_t* old_obj = best->img_obj; int old_screen_x = 0, old_screen_y = 0; - if (old_obj != NULL) { + if (old_obj != NULL) + { old_screen_x = lv_obj_get_x(old_obj); old_screen_y = lv_obj_get_y(old_obj); } - + load_tile_image(ctx, *best); - + // Invalidate only the tile area, not the entire container - if (best->img_obj != NULL) { + if (best->img_obj != NULL) + { int new_screen_x = lv_obj_get_x(best->img_obj); int new_screen_y = lv_obj_get_y(best->img_obj); - + // Invalidate old position (if placeholder was at different location) - if (old_obj != NULL && (old_screen_x != new_screen_x || old_screen_y != new_screen_y)) { + if (old_obj != NULL && (old_screen_x != new_screen_x || old_screen_y != new_screen_y)) + { lv_area_t old_area; old_area.x1 = old_screen_x; old_area.y1 = old_screen_y; @@ -1144,26 +1263,30 @@ void tile_loader_step(TileContext& ctx) old_area.y2 = old_screen_y + TILE_SIZE - 1; lv_obj_invalidate_area(ctx.map_container, &old_area); } - + // Invalidate new position (just the tile, not entire container) lv_obj_invalidate(best->img_obj); } - + // After loading a tile, update has_visible_map_data flag // This ensures the flag is updated immediately when tiles are loaded - if (ctx.has_visible_map_data) { + if (ctx.has_visible_map_data) + { bool visible_png_found = false; - for (auto &tile : *ctx.tiles) { - if (tile.visible && tile.has_png_file) { + for (auto& tile : *ctx.tiles) + { + if (tile.visible && tile.has_png_file) + { visible_png_found = true; break; } } bool old_value = *ctx.has_visible_map_data; *ctx.has_visible_map_data = visible_png_found; - if (old_value != visible_png_found) { - GPS_LOG("[GPS] tile_loader_step: has_visible_map_data changed: %d -> %d\n", - old_value, visible_png_found); + if (old_value != visible_png_found) + { + GPS_LOG("[GPS] tile_loader_step: has_visible_map_data changed: %d -> %d\n", + old_value, visible_png_found); } } } @@ -1172,7 +1295,7 @@ void tile_loader_step(TileContext& ctx) /** * Initialize tile context */ -void init_tile_context(TileContext& ctx, lv_obj_t* map_container, MapAnchor* anchor, +void init_tile_context(TileContext& ctx, lv_obj_t* map_container, MapAnchor* anchor, std::vector* tiles, bool* has_map_data, bool* has_visible_map_data) { ctx.map_container = map_container; @@ -1188,9 +1311,11 @@ void init_tile_context(TileContext& ctx, lv_obj_t* map_container, MapAnchor* anc void cleanup_tiles(TileContext& ctx) { if (!ctx.tiles) return; - - for (auto &tile : *ctx.tiles) { - if (tile.img_obj != NULL) { + + for (auto& tile : *ctx.tiles) + { + if (tile.img_obj != NULL) + { lv_obj_del(tile.img_obj); tile.img_obj = NULL; } diff --git a/src/ui/widgets/map/map_tiles.h b/src/ui/widgets/map/map_tiles.h index b366e0d6..4c694d62 100644 --- a/src/ui/widgets/map/map_tiles.h +++ b/src/ui/widgets/map/map_tiles.h @@ -7,8 +7,8 @@ #define MAP_TILES_H #include "lvgl.h" +#include // For int32_t #include -#include // For int32_t // Map tile constants #define TILE_SIZE 256 @@ -25,48 +25,52 @@ // Note: Using int32_t for pixel coordinates ensures sufficient precision: // - At zoom 18: max_pixel = (2^18 - 1) * 256 = 67,108,608 << int32_t max (2,147,483,647) // - int32_t is sufficient for all zoom levels 0-18 and prevents platform-dependent int size issues -struct MapAnchor { +struct MapAnchor +{ int z; - int32_t gps_tile_x, gps_tile_y; // Tile coordinates (max 262,143 at zoom 18) - int32_t gps_tile_pixel_x, gps_tile_pixel_y; // Tile pixel coordinates (tile_x * 256) - int32_t gps_offset_x, gps_offset_y; // Offset within tile (range -255 to 255) - int32_t gps_global_pixel_x, gps_global_pixel_y; // Cached global pixel coordinates (0..world_px-1) - int gps_tile_screen_x, gps_tile_screen_y; // Screen coordinates (typically < 2000px, int is fine) + int32_t gps_tile_x, gps_tile_y; // Tile coordinates (max 262,143 at zoom 18) + int32_t gps_tile_pixel_x, gps_tile_pixel_y; // Tile pixel coordinates (tile_x * 256) + int32_t gps_offset_x, gps_offset_y; // Offset within tile (range -255 to 255) + int32_t gps_global_pixel_x, gps_global_pixel_y; // Cached global pixel coordinates (0..world_px-1) + int gps_tile_screen_x, gps_tile_screen_y; // Screen coordinates (typically < 2000px, int is fine) double n; bool valid; }; // Decoded tile image cache entry (for RAM cache to avoid re-decoding) -struct DecodedTileCache { - int32_t x, y, z; // Tile coordinates - lv_image_dsc_t* img_dsc; // Decoded image descriptor (RGB565 data in RAM) - uint32_t last_used_ms; // For LRU eviction - bool in_use; // True if currently used by a visible tile +struct DecodedTileCache +{ + int32_t x, y, z; // Tile coordinates + lv_image_dsc_t* img_dsc; // Decoded image descriptor (RGB565 data in RAM) + uint32_t last_used_ms; // For LRU eviction + bool in_use; // True if currently used by a visible tile }; // Map tile structure -struct MapTile { - int32_t x; // Tile X coordinate (wrapped, max 262,143 at zoom 18) - int32_t y; // Tile Y coordinate (clamped, max 262,143 at zoom 18) - int z; // Zoom level (0-18) - lv_obj_t *img_obj; // NULL = not loaded, non-NULL = loaded (image or label placeholder) +struct MapTile +{ + int32_t x; // Tile X coordinate (wrapped, max 262,143 at zoom 18) + int32_t y; // Tile Y coordinate (clamped, max 262,143 at zoom 18) + int z; // Zoom level (0-18) + lv_obj_t* img_obj; // NULL = not loaded, non-NULL = loaded (image or label placeholder) bool visible; - bool ever_visible; // Track if tile was ever visible (for eviction priority) - uint32_t last_used_ms; // For LRU cache eviction - uint32_t obj_evicted_ms; // Timestamp when object was evicted (0 = not evicted) - bool record_evicted; // Record should be removed from vector - int priority; // Loading priority (distance from center, lower = higher priority) - bool has_png_file; // True if tile has PNG file (not placeholder) - DecodedTileCache* cached_img; // Pointer to decoded image cache entry (NULL if not cached) + bool ever_visible; // Track if tile was ever visible (for eviction priority) + uint32_t last_used_ms; // For LRU cache eviction + uint32_t obj_evicted_ms; // Timestamp when object was evicted (0 = not evicted) + bool record_evicted; // Record should be removed from vector + int priority; // Loading priority (distance from center, lower = higher priority) + bool has_png_file; // True if tile has PNG file (not placeholder) + DecodedTileCache* cached_img; // Pointer to decoded image cache entry (NULL if not cached) }; // Tile management context (passed to functions instead of using global state) -struct TileContext { - lv_obj_t* map_container; // Only UI dependency - for creating objects and getting size +struct TileContext +{ + lv_obj_t* map_container; // Only UI dependency - for creating objects and getting size MapAnchor* anchor; std::vector* tiles; - bool* has_map_data; // Global: any tile ever loaded - bool* has_visible_map_data; // Viewport: current visible tiles have PNG + bool* has_map_data; // Global: any tile ever loaded + bool* has_visible_map_data; // Viewport: current visible tiles have PNG }; // Core tile functions - implemented in map_tiles.cpp @@ -74,29 +78,29 @@ struct TileContext { /** * Normalize tile coordinates to valid range (wrap x, clamp y) */ -void normalize_tile(int z, int &x, int &y); +void normalize_tile(int z, int& x, int& y); /** * Convert latitude/longitude to tile coordinates */ -void latLngToTile(double lat, double lng, int zoom, int &tile_x, int &tile_y); +void latLngToTile(double lat, double lng, int zoom, int& tile_x, int& tile_y); /** * Convert tile coordinates to latitude/longitude (inverse of latLngToTile) * Returns the center of the tile */ -void tileToLatLng(int tile_x, int tile_y, int zoom, double &lat, double &lng); +void tileToLatLng(int tile_x, int tile_y, int zoom, double& lat, double& lng); /** * Calculate the latitude/longitude of the current screen center * Uses the current anchor and pan offsets to determine what's at screen center */ -void get_screen_center_lat_lng(const TileContext& ctx, double &lat, double &lng); +void get_screen_center_lat_lng(const TileContext& ctx, double& lat, double& lng); /** * Convert tile coordinates to pixel coordinates */ -void tileToPixel(int tile_x, int tile_y, int zoom, int &pixel_x, int &pixel_y); +void tileToPixel(int tile_x, int tile_y, int zoom, int& pixel_x, int& pixel_y); /** * Calculate screen position for GPS coordinates (lat/lng) @@ -132,7 +136,7 @@ void tile_loader_step(TileContext& ctx); /** * Initialize tile context */ -void init_tile_context(TileContext& ctx, lv_obj_t* map_container, MapAnchor* anchor, +void init_tile_context(TileContext& ctx, lv_obj_t* map_container, MapAnchor* anchor, std::vector* tiles, bool* has_map_data, bool* has_visible_map_data); /** diff --git a/src/ui/widgets/system_notification.cpp b/src/ui/widgets/system_notification.cpp index 78175c4e..ca13de6b 100644 --- a/src/ui/widgets/system_notification.cpp +++ b/src/ui/widgets/system_notification.cpp @@ -6,7 +6,8 @@ #include "system_notification.h" #include -namespace ui { +namespace ui +{ lv_obj_t* SystemNotification::container_ = nullptr; lv_obj_t* SystemNotification::icon_ = nullptr; @@ -14,25 +15,28 @@ lv_obj_t* SystemNotification::label_ = nullptr; lv_timer_t* SystemNotification::hide_timer_ = nullptr; bool SystemNotification::visible_ = false; -extern "C" { +extern "C" +{ extern const lv_image_dsc_t alert; } -void SystemNotification::init() { - if (container_) { +void SystemNotification::init() +{ + if (container_) + { return; // Already initialized } - + // Get the active screen (top layer) lv_obj_t* top_layer = lv_layer_top(); - + // Create container - with 30px margins on left and right container_ = lv_obj_create(top_layer); // Get screen width and calculate container width (screen width - 60px for 30px margins on each side) lv_coord_t screen_width = lv_display_get_physical_horizontal_resolution(NULL); lv_coord_t container_width = screen_width - 60; // 30px left + 30px right margin lv_obj_set_size(container_, container_width, 50); - lv_obj_set_pos(container_, 30, -60); // x=30 for 30px left margin, will animate to y=0 + lv_obj_set_pos(container_, 30, -60); // x=30 for 30px left margin, will animate to y=0 lv_obj_set_style_bg_color(container_, lv_color_hex(0xFFF8DC), 0); // Light beige color lv_obj_set_style_bg_opa(container_, LV_OPA_COVER, 0); // Set radius for bottom corners only @@ -44,64 +48,71 @@ void SystemNotification::init() { lv_obj_set_style_shadow_width(container_, 10, 0); lv_obj_set_style_shadow_color(container_, lv_color_hex(0x000000), 0); lv_obj_set_style_shadow_opa(container_, LV_OPA_50, 0); - + // Create flex layout lv_obj_set_flex_flow(container_, LV_FLEX_FLOW_ROW); lv_obj_set_flex_align(container_, LV_FLEX_ALIGN_START, LV_FLEX_ALIGN_CENTER, LV_FLEX_ALIGN_CENTER); lv_obj_set_style_pad_gap(container_, 8, 0); - + // Create icon icon_ = lv_image_create(container_); lv_image_set_src(icon_, &alert); lv_obj_set_style_width(icon_, 24, 0); lv_obj_set_style_height(icon_, 24, 0); - + // Create label with larger font label_ = lv_label_create(container_); lv_label_set_text(label_, ""); lv_obj_set_style_text_color(label_, lv_color_hex(0x333333), 0); // Dark gray text for better contrast on light background - lv_obj_set_style_text_font(label_, &lv_font_montserrat_18, 0); // Larger font (was 14, now 18) + lv_obj_set_style_text_font(label_, &lv_font_montserrat_18, 0); // Larger font (was 14, now 18) lv_obj_set_flex_grow(label_, 1); - + // Initially hidden lv_obj_add_flag(container_, LV_OBJ_FLAG_HIDDEN); } -void SystemNotification::show(const char* text, uint32_t duration_ms) { - if (!container_) { +void SystemNotification::show(const char* text, uint32_t duration_ms) +{ + if (!container_) + { init(); } - + // Truncate text to 15 characters char truncated[16]; size_t len = strlen(text); - if (len > 15) { + if (len > 15) + { strncpy(truncated, text, 15); truncated[15] = '\0'; - } else { + } + else + { strcpy(truncated, text); } - + lv_label_set_text(label_, truncated); - + // Cancel existing timer if any - if (hide_timer_) { + if (hide_timer_) + { lv_timer_del(hide_timer_); hide_timer_ = nullptr; } - + // If already visible, hide first - if (visible_) { + if (visible_) + { hide(); } - + // Set initial position (above screen) lv_obj_set_y(container_, -60); - + // Show container lv_obj_clear_flag(container_, LV_OBJ_FLAG_HIDDEN); visible_ = true; - + // Animate from top (y = -60) to visible position (y = 0, tight to top edge) lv_anim_t anim; lv_anim_init(&anim); @@ -111,23 +122,26 @@ void SystemNotification::show(const char* text, uint32_t duration_ms) { lv_anim_set_exec_cb(&anim, (lv_anim_exec_xcb_t)lv_obj_set_y); lv_anim_set_ready_cb(&anim, animReadyCallback); lv_anim_start(&anim); - + // Set up auto-hide timer hide_timer_ = lv_timer_create(hideTimerCallback, duration_ms, nullptr); lv_timer_set_repeat_count(hide_timer_, 1); } -void SystemNotification::hide() { - if (!container_ || !visible_) { +void SystemNotification::hide() +{ + if (!container_ || !visible_) + { return; } - + // Cancel timer - if (hide_timer_) { + if (hide_timer_) + { lv_timer_del(hide_timer_); hide_timer_ = nullptr; } - + // Animate out (move to y = -60) lv_anim_t anim; lv_anim_init(&anim); @@ -135,24 +149,27 @@ void SystemNotification::hide() { lv_anim_set_values(&anim, lv_obj_get_y(container_), -60); lv_anim_set_time(&anim, 300); lv_anim_set_exec_cb(&anim, (lv_anim_exec_xcb_t)lv_obj_set_y); - lv_anim_set_ready_cb(&anim, [](lv_anim_t* a) { + lv_anim_set_ready_cb(&anim, [](lv_anim_t* a) + { (void)a; lv_obj_add_flag(container_, LV_OBJ_FLAG_HIDDEN); - visible_ = false; - }); + visible_ = false; }); lv_anim_start(&anim); } -bool SystemNotification::isVisible() { +bool SystemNotification::isVisible() +{ return visible_ && container_ && !lv_obj_has_flag(container_, LV_OBJ_FLAG_HIDDEN); } -void SystemNotification::hideTimerCallback(lv_timer_t* timer) { +void SystemNotification::hideTimerCallback(lv_timer_t* timer) +{ (void)timer; hide(); } -void SystemNotification::animReadyCallback(lv_anim_t* anim) { +void SystemNotification::animReadyCallback(lv_anim_t* anim) +{ (void)anim; // Animation completed, notification is now visible } diff --git a/src/ui/widgets/system_notification.h b/src/ui/widgets/system_notification.h index c9f068bf..3b18061f 100644 --- a/src/ui/widgets/system_notification.h +++ b/src/ui/widgets/system_notification.h @@ -7,41 +7,43 @@ #include "lvgl.h" -namespace ui { +namespace ui +{ /** * @brief System-level notification toast * Displays a notification bubble at the top of the screen */ -class SystemNotification { -public: +class SystemNotification +{ + public: /** * @brief Initialize the notification system * Must be called after LVGL is initialized */ static void init(); - + /** * @brief Show a notification * @param text Message text (will be truncated to 15 characters) * @param duration_ms Display duration in milliseconds (default 3000ms) */ static void show(const char* text, uint32_t duration_ms = 3000); - + /** * @brief Hide the current notification */ static void hide(); - + /** * @brief Check if notification is currently visible */ static bool isVisible(); -private: + private: static void hideTimerCallback(lv_timer_t* timer); static void animReadyCallback(lv_anim_t* anim); - + static lv_obj_t* container_; static lv_obj_t* icon_; static lv_obj_t* label_; diff --git a/src/ui/widgets/toast/toast_widget.cpp b/src/ui/widgets/toast/toast_widget.cpp index 1e0076ac..88b62187 100644 --- a/src/ui/widgets/toast/toast_widget.cpp +++ b/src/ui/widgets/toast/toast_widget.cpp @@ -2,10 +2,12 @@ #include #include -namespace ui::widgets { +namespace ui::widgets +{ -struct Toast::Impl { - lv_obj_t* root = nullptr; +struct Toast::Impl +{ + lv_obj_t* root = nullptr; lv_obj_t* label = nullptr; lv_timer_t* timer = nullptr; @@ -23,7 +25,8 @@ static void set_bg_opa(lv_obj_t* obj, int32_t v) static int clamp_int(int v, int lo, int hi) { - return (v < lo) ? lo : (v > hi) ? hi : v; + return (v < lo) ? lo : (v > hi) ? hi + : v; } void Toast::show(lv_obj_t* parent, const char* text, Type type) @@ -118,7 +121,8 @@ void Toast::timer_cb(lv_timer_t* t) lv_anim_set_exec_cb(&a, (lv_anim_exec_xcb_t)set_bg_opa); // 动画结束后 hide(注意:hide 会 destroy 并清 active) - lv_anim_set_ready_cb(&a, [](lv_anim_t*) { Toast::hide(); }); + lv_anim_set_ready_cb(&a, [](lv_anim_t*) + { Toast::hide(); }); lv_anim_start(&a); // timer 只负责触发一次淡出 @@ -130,11 +134,13 @@ void Toast::destroy(Impl* impl) { if (!impl) return; - if (impl->timer) { + if (impl->timer) + { lv_timer_del(impl->timer); impl->timer = nullptr; } - if (impl->root) { + if (impl->root) + { lv_obj_del(impl->root); impl->root = nullptr; } @@ -145,10 +151,13 @@ lv_color_t Toast::bgColor(Type type) { switch (type) { - case Type::Success: return lv_palette_main(LV_PALETTE_GREEN); - case Type::Error: return lv_palette_main(LV_PALETTE_RED); + case Type::Success: + return lv_palette_main(LV_PALETTE_GREEN); + case Type::Error: + return lv_palette_main(LV_PALETTE_RED); case Type::Info: - default: return lv_palette_main(LV_PALETTE_GREY); + default: + return lv_palette_main(LV_PALETTE_GREY); } } diff --git a/src/ui/widgets/toast/toast_widget.h b/src/ui/widgets/toast/toast_widget.h index e73303db..9404ad43 100644 --- a/src/ui/widgets/toast/toast_widget.h +++ b/src/ui/widgets/toast/toast_widget.h @@ -2,25 +2,28 @@ #include "lvgl.h" #include -namespace ui::widgets { +namespace ui::widgets +{ class Toast { -public: - enum class Type : uint8_t { + public: + enum class Type : uint8_t + { Info, Success, Error }; - struct Options { + struct Options + { uint32_t duration_ms = 1500; // 持续显示 - uint32_t fade_ms = 200; // 淡入淡出时间 - int y_offset = -20; // 底部偏移(负数上移) + uint32_t fade_ms = 200; // 淡入淡出时间 + int y_offset = -20; // 底部偏移(负数上移) - uint8_t max_width_pct = 80; // 最大宽度(占屏宽百分比) - uint8_t pad_h = 12; // 水平 padding - uint8_t pad_v = 8; // 垂直 padding + uint8_t max_width_pct = 80; // 最大宽度(占屏宽百分比) + uint8_t pad_h = 12; // 水平 padding + uint8_t pad_v = 8; // 垂直 padding }; static void show(lv_obj_t* parent, const char* text, Type type = Type::Info); @@ -29,7 +32,7 @@ public: static constexpr Options defaults() { return Options{}; } -private: + private: struct Impl; static void* active_; diff --git a/src/ui/widgets/top_bar.cpp b/src/ui/widgets/top_bar.cpp index 8a1be0cf..00f7c15b 100644 --- a/src/ui/widgets/top_bar.cpp +++ b/src/ui/widgets/top_bar.cpp @@ -6,15 +6,18 @@ #include "top_bar.h" #include -namespace ui { -namespace widgets { +namespace ui +{ +namespace widgets +{ static void back_event_cb(lv_event_t* e) { TopBar* bar = static_cast(lv_event_get_user_data(e)); Serial.printf("[TopBar] back_event_cb code=%d bar=%p cb=%p\n", (int)lv_event_get_code(e), bar, bar ? (void*)bar->back_cb : nullptr); - if (bar != nullptr && bar->back_cb != nullptr) { + if (bar != nullptr && bar->back_cb != nullptr) + { bar->back_cb(bar->back_user_data); } } @@ -40,16 +43,19 @@ void top_bar_init(TopBar& bar, lv_obj_t* parent, const TopBarConfig& config) lv_obj_set_style_pad_column(bar.container, 6, 0); // Back button: reuse override or create a rounded one - if (config.back_btn_override != nullptr) { + if (config.back_btn_override != nullptr) + { bar.back_btn = config.back_btn_override; - } else if (config.create_back) { + } + else if (config.create_back) + { bar.back_btn = lv_btn_create(bar.container); lv_obj_set_size(bar.back_btn, 30, 20); lv_obj_set_style_bg_color(bar.back_btn, lv_color_hex(0xF1B65A), LV_PART_MAIN); lv_obj_set_style_bg_opa(bar.back_btn, LV_OPA_COVER, LV_PART_MAIN); lv_obj_set_style_border_width(bar.back_btn, 1, LV_PART_MAIN); lv_obj_set_style_border_color(bar.back_btn, lv_color_hex(0xB0B0B0), LV_PART_MAIN); - lv_obj_set_style_radius(bar.back_btn, 12, LV_PART_MAIN); // oval, align with GPS style + lv_obj_set_style_radius(bar.back_btn, 12, LV_PART_MAIN); // oval, align with GPS style lv_obj_set_style_bg_color(bar.back_btn, lv_color_hex(0xE0E0E0), LV_STATE_FOCUSED); lv_obj_set_style_outline_width(bar.back_btn, 0, LV_STATE_FOCUSED); lv_obj_align(bar.back_btn, LV_ALIGN_LEFT_MID, 0, 0); @@ -62,9 +68,12 @@ void top_bar_init(TopBar& bar, lv_obj_t* parent, const TopBarConfig& config) // If an override is used, leave its styling/callbacks untouched. // Title label: reuse override or create centered - if (config.title_label_override != nullptr) { + if (config.title_label_override != nullptr) + { bar.title_label = config.title_label_override; - } else { + } + else + { bar.title_label = lv_label_create(bar.container); lv_label_set_text(bar.title_label, ""); lv_label_set_long_mode(bar.title_label, LV_LABEL_LONG_DOT); @@ -85,14 +94,16 @@ void top_bar_init(TopBar& bar, lv_obj_t* parent, const TopBarConfig& config) void top_bar_set_title(TopBar& bar, const char* title) { - if (bar.title_label != nullptr && title != nullptr) { + if (bar.title_label != nullptr && title != nullptr) + { lv_label_set_text(bar.title_label, title); } } void top_bar_set_right_text(TopBar& bar, const char* text) { - if (bar.right_label != nullptr && text != nullptr) { + if (bar.right_label != nullptr && text != nullptr) + { lv_label_set_text(bar.right_label, text); } } diff --git a/src/ui/widgets/top_bar.h b/src/ui/widgets/top_bar.h index dcb933a3..1623b4dd 100644 --- a/src/ui/widgets/top_bar.h +++ b/src/ui/widgets/top_bar.h @@ -8,17 +8,21 @@ #include "lvgl.h" #include -namespace ui { -namespace widgets { +namespace ui +{ +namespace widgets +{ -struct TopBarConfig { - lv_obj_t* back_btn_override = nullptr; // Use existing back button (keeps its style) - lv_obj_t* title_label_override = nullptr; // Use existing title label if provided - bool create_back = true; // Create new back button when no override - lv_coord_t height = 26; // Default height +struct TopBarConfig +{ + lv_obj_t* back_btn_override = nullptr; // Use existing back button (keeps its style) + lv_obj_t* title_label_override = nullptr; // Use existing title label if provided + bool create_back = true; // Create new back button when no override + lv_coord_t height = 26; // Default height }; -struct TopBar { +struct TopBar +{ lv_obj_t* container = nullptr; lv_obj_t* back_btn = nullptr; lv_obj_t* title_label = nullptr; diff --git a/variants/lilygo_tlora_pager/pins_arduino.h b/variants/lilygo_tlora_pager/pins_arduino.h index 0c8421fb..e86bf46f 100644 --- a/variants/lilygo_tlora_pager/pins_arduino.h +++ b/variants/lilygo_tlora_pager/pins_arduino.h @@ -3,15 +3,15 @@ #include -#define USB_VID 0x303a -#define USB_PID 0x82D4 +#define USB_VID 0x303a +#define USB_PID 0x82D4 #define USB_MANUFACTURER "LILYGO" -#define USB_PRODUCT "T-LoRa-Pager" +#define USB_PRODUCT "T-LoRa-Pager" // ST7796 -#define DISP_WIDTH (222) +#define DISP_WIDTH (222) #define DISP_HEIGHT (480) -#define SD_CS (21) +#define SD_CS (21) static const uint8_t TX = 43; static const uint8_t RX = 44; @@ -26,7 +26,7 @@ static const uint8_t MOSI = 34; static const uint8_t MISO = 33; static const uint8_t SCK = 35; -#define KB_INT (6) +#define KB_INT (6) #define KB_BACKLIGHT (46) // Rotary @@ -35,58 +35,58 @@ static const uint8_t SCK = 35; #define ROTARY_C (7) // Interrupt IO port -#define RTC_INT (1) -#define NFC_INT (5) +#define RTC_INT (1) +#define NFC_INT (5) #define SENSOR_INT (8) -#define NFC_CS (39) +#define NFC_CS (39) // Power management -#define POWER_KEY (0) // Power/BOOT button (GPIO 0) - LilyGo wake source -#define BOOT_KEY (9) // Boot button (GPIO 9) +#define POWER_KEY (0) // Power/BOOT button (GPIO 0) - LilyGo wake source +#define BOOT_KEY (9) // Boot button (GPIO 9) // ES8311 -#define I2S_WS (18) -#define I2S_SCK (11) -#define I2S_MCLK (10) +#define I2S_WS (18) +#define I2S_SCK (11) +#define I2S_MCLK (10) #define I2S_SDOUT (45) -#define I2S_SDIN (17) +#define I2S_SDIN (17) // GPS -#define GPS_TX (12) -#define GPS_RX (4) +#define GPS_TX (12) +#define GPS_RX (4) #define GPS_PPS (13) // LoRa, SD, ST25R3916 card share SPI bus -#define LORA_SCK (SCK) // share spi bus -#define LORA_MISO (MISO) // share spi bus -#define LORA_MOSI (MOSI) // share spi bus -#define LORA_CS (36) -#define LORA_RST (47) +#define LORA_SCK (SCK) // share spi bus +#define LORA_MISO (MISO) // share spi bus +#define LORA_MOSI (MOSI) // share spi bus +#define LORA_CS (36) +#define LORA_RST (47) #define LORA_BUSY (48) -#define LORA_IRQ (14) +#define LORA_IRQ (14) // SPI interface display #define DISP_MOSI (MOSI) #define DISP_MISO (MISO) -#define DISP_SCK (SCK) -#define DISP_RST (-1) -#define DISP_CS (38) -#define DISP_DC (37) -#define DISP_BL (42) +#define DISP_SCK (SCK) +#define DISP_RST (-1) +#define DISP_CS (38) +#define DISP_DC (37) +#define DISP_BL (42) // External expansion chip IO definition -#define EXPANDS_DRV_EN (0) -#define EXPANDS_AMP_EN (1) -#define EXPANDS_KB_RST (2) -#define EXPANDS_LORA_EN (3) -#define EXPANDS_GPS_EN (4) -#define EXPANDS_NFC_EN (5) -#define EXPANDS_GPS_RST (7) -#define EXPANDS_KB_EN (8) -#define EXPANDS_GPIO_EN (9) -#define EXPANDS_SD_DET (10) +#define EXPANDS_DRV_EN (0) +#define EXPANDS_AMP_EN (1) +#define EXPANDS_KB_RST (2) +#define EXPANDS_LORA_EN (3) +#define EXPANDS_GPS_EN (4) +#define EXPANDS_NFC_EN (5) +#define EXPANDS_GPS_RST (7) +#define EXPANDS_KB_EN (8) +#define EXPANDS_GPIO_EN (9) +#define EXPANDS_SD_DET (10) #define EXPANDS_SD_PULLEN (11) -#define EXPANDS_SD_EN (12) +#define EXPANDS_SD_EN (12) // Peripheral definition exists #define USING_AUDIO_CODEC diff --git a/variants/tdeck/pins_arduino.h b/variants/tdeck/pins_arduino.h index 36545d89..2baedfaf 100644 --- a/variants/tdeck/pins_arduino.h +++ b/variants/tdeck/pins_arduino.h @@ -3,10 +3,10 @@ #include -#define USB_VID 0x303A -#define USB_PID 0x1001 +#define USB_VID 0x303A +#define USB_PID 0x1001 #define USB_MANUFACTURER "LILYGO" -#define USB_PRODUCT "T-Deck" +#define USB_PRODUCT "T-Deck" // Basic UART static const uint8_t TX = 43; @@ -21,10 +21,10 @@ static const uint8_t SCL = 8; #define SENSOR_SCL (SCL) // SPI (T-Deck defaults) -static const uint8_t SS = 9; +static const uint8_t SS = 9; static const uint8_t MOSI = 41; static const uint8_t MISO = 38; -static const uint8_t SCK = 40; +static const uint8_t SCK = 40; // Board power enable (required very early on T-Deck) #define BOARD_POWERON (10) @@ -32,46 +32,46 @@ static const uint8_t SCK = 40; // Display pins (aligned with LilyGo T-Deck examples) #define DISP_MOSI (MOSI) #define DISP_MISO (MISO) -#define DISP_SCK (SCK) -#define DISP_RST (-1) -#define DISP_CS (12) -#define DISP_DC (11) -#define DISP_BL (42) +#define DISP_SCK (SCK) +#define DISP_RST (-1) +#define DISP_CS (12) +#define DISP_DC (11) +#define DISP_BL (42) // LoRa pins (aligned with LilyGo T-Deck examples) -#define LORA_SCK (SCK) +#define LORA_SCK (SCK) #define LORA_MISO (MISO) #define LORA_MOSI (MOSI) -#define LORA_CS (9) -#define LORA_RST (17) +#define LORA_CS (9) +#define LORA_RST (17) #define LORA_BUSY (13) -#define LORA_IRQ (45) +#define LORA_IRQ (45) // GPS pins (T-Deck examples show 43/44; keep explicit) -#define GPS_TX (43) -#define GPS_RX (44) +#define GPS_TX (43) +#define GPS_RX (44) #define GPS_PPS (-1) // Keyboard / inputs (disabled placeholders) -#define KB_INT (-1) +#define KB_INT (-1) #define KB_BACKLIGHT (-1) // Trackball / joystick-like inputs (from LilyGo T-Deck examples) -#define TRACKBALL_UP (3) -#define TRACKBALL_DOWN (15) -#define TRACKBALL_LEFT (1) +#define TRACKBALL_UP (3) +#define TRACKBALL_DOWN (15) +#define TRACKBALL_LEFT (1) #define TRACKBALL_RIGHT (2) #define TRACKBALL_CLICK (0) // Interrupt pins (not present / unknown) -#define RTC_INT (-1) -#define NFC_INT (-1) +#define RTC_INT (-1) +#define NFC_INT (-1) #define SENSOR_INT (-1) -#define NFC_CS (-1) +#define NFC_CS (-1) // Power key #define POWER_KEY (0) -#define BOOT_KEY (0) +#define BOOT_KEY (0) // SD #define SD_CS (39)