diff --git a/01_install_cli.sh b/01_install_cli.sh new file mode 100755 index 0000000..7e8ac08 --- /dev/null +++ b/01_install_cli.sh @@ -0,0 +1,36 @@ +#!/bin/bash + +cd + +# git update-git-for-windows + +# if type -p arduino-cli >/dev/null; then +# echo "arduino-cli is installed." +# sleep 1 +# else +# install (or upgrade) arduino-cli + curl -fsSL https://raw.githubusercontent.com/arduino/arduino-cli/master/install.sh | sh +# fi + +arduino-cli update +arduino-cli upgrade +arduino-cli version + +# download m5scp2_exp (by miura) +if [ -d "m5scp2_exp" ]; then + echo "m5scp2_exp folder exists." +else + git clone https://git.istlab.info/git/miura250/m5scp2_exp.git +fi + +cd m5scp2_exp +git pull +ls -al +./setup.sh + +if [ ! -d "build" ]; then + echo "cd m5scp2_exp" + echo "./compile.sh" + echo "FactoryTest2022 の初回コンパイルをします。数分固まったようにみえます。" + ./compile.sh +fi diff --git a/02_install_cli_lib.sh b/02_install_cli_lib.sh new file mode 100755 index 0000000..ae11954 --- /dev/null +++ b/02_install_cli_lib.sh @@ -0,0 +1,31 @@ +#!/bin/bash + +arduino-cli update +arduino-cli upgrade +arduino-cli lib install M5Unified +arduino-cli core install esp32:esp32 +# arduino-cli core install esp32:esp32@2.0.17 --config-file arduino-cli.yaml + +# 確認 +arduino-cli board listall | grep StickCPlus +arduino-cli core list + +# Optional for IRsend samples +arduino-cli lib install IRremoteESP8266 +arduino-cli lib install WiFi HttpClient +arduino-cli lib install Regexp Dictionary +arduino-cli lib install ArduinoJson +#arduino-cli lib install WiFiMulti_Generic +arduino-cli lib install "Adafruit SHT31 Library" +arduino-cli lib install "Adafruit BMP280 Library" +# arduino-cli lib install M5StickCPlus2 # M5Unified を使うので不要 + +## You can find other libraries as follows. +# arduino-cli lib search [keyword] +## if you get too much candidates, use grep to filter +# arduino-cli lib search [keyword] | grep -e "^Name" + +# Finally, just show board list +echo "(for Windows user) 書き込みは主にUSBで行いますので、ネットワークアクセスの許可は、しなくてもよいです。" +echo "(for Windows user) Acceptance of Network setting is not mandatory." + diff --git a/03_compile_factorytest.sh b/03_compile_factorytest.sh new file mode 100755 index 0000000..a8d322a --- /dev/null +++ b/03_compile_factorytest.sh @@ -0,0 +1,5 @@ +#!/bin/bash + +# arduino-cli compile -help +arduino-cli compile -b esp32:esp32:m5stack_stickc_plus2 -v -e FactoryTest + diff --git a/04_upload_factorytest.sh b/04_upload_factorytest.sh new file mode 100755 index 0000000..145f090 --- /dev/null +++ b/04_upload_factorytest.sh @@ -0,0 +1,26 @@ +#!/bin/bash + +echo "Finding serial ports..." +## get serial port via board list, choose lines including "USB", and pick up 1st word +serials=`arduino-cli board list | grep USB | awk '{print $1}'` + +# echo ${serials} +if [ -z "${serials}" ]; then + echo "No device connected." + echo "デバイスを接続しているのに認識しないときは、ドライバを入れてください。" + echo "https://ftdichip.com/drivers/vcp-drivers/ → Click here to download の hereをおす。ZIP解凍して実行。" + exit +fi + +## if multiple ports found, try uploading to all ports. +seriallist=($serials) + +## print the list +# echo ${seriallist[@]} + +for ser in ${seriallist[@]} ; do + echo ${ser} +# arduino-cli upload --fqbn esp32:esp32:m5stick-c -p ${ser} -v FactoryTest + arduino-cli upload --fqbn esp32:esp32:m5stack_stickc_plus2 -p ${ser} -v FactoryTest +done + diff --git a/FactoryTest/Battery.h b/FactoryTest/Battery.h new file mode 100644 index 0000000..55500a4 --- /dev/null +++ b/FactoryTest/Battery.h @@ -0,0 +1,244 @@ +/** + * 電池残量表示 + * https://rikoubou.hatenablog.com/entry/2021/04/02/174338 + * を一部改変 + */ + +/** + * Batteryクラス + * + * 電池残量を表示する。 + */ +class Battery +{ +public: + Battery(); + void setPosAndSize(int posX, int posY, int showSizeNum); + void setDeleteBgColor(uint16_t color); + void setTextColor(uint16_t color); + void batteryUpdate(); + void setSprite(TFT_eSprite *sprite); + void setCheckRate(uint16_t rate); + +private: + const float MAX_BATTERY_VOLTAGE = 4.0f; + const float MIN_BATTERY_VOLTAGE = 3.2f; + const int8_t BITS_PER_PIXEL = 1; + const int TRANS_PARENTS = 0; + const int MAX_SHOW_SIZE = 7; + const int MIN_SHOW_SIZE = 1; + + TFT_eSprite *_sprite; // = TFT_eSprite(&M5.Lcd); + bool _showFlg; + int _x; + int _y; + int _showSize; + int _width; + int _height; + int _top_width; + uint16_t _bg_color; + uint16_t _line_color; + uint16_t _text_color; + uint16_t ratecount = 100; + uint16_t rateskip = 100; + int i_percent = -1; + uint16_t statusColor = 0; + + void drawBatteryLines(); + int calcBatteryPercent(); + uint16_t getBatteryColor(); + void showBatteryPercent(); + bool isLowBattery(); + bool isUsingBattery(); +}; + +/** + * コンストラクタ + */ +Battery::Battery() +{ + // 初期化 + _showFlg = true; + _x = 0; + _y = 0; + _showSize = 1; + _width = 28 * _showSize; + _height = 10 * _showSize; + _top_width = 2 * _showSize; + _bg_color = TFT_BLACK; + _line_color = TFT_WHITE; + _text_color = TFT_WHITE; +} + +void Battery::setSprite(TFT_eSprite *sprite) +{ + _sprite = sprite; +} +/** + * 表示位置(x, y)と表示サイズを設定する関数 + */ +void Battery::setPosAndSize(int posX, int posY, int showSizeNum) +{ + _x = posX; + _y = posY; + + if (MAX_SHOW_SIZE < showSizeNum) + { + _showSize = MAX_SHOW_SIZE; + } + else if (showSizeNum < MIN_SHOW_SIZE) + { + _showSize = MIN_SHOW_SIZE; + } + else + { + _showSize = showSizeNum; + } + + _width = 28 * _showSize; + _height = 10 * _showSize; + _top_width = 2 * _showSize; +} +void Battery::setCheckRate(uint16_t _checkrate) +{ + ratecount = _checkrate; +} + +/** + * 削除時の背景色を設定する関数 + */ +void Battery::setDeleteBgColor(uint16_t color) +{ + _bg_color = color; +} + +/** + * 電池図形と文字の色を設定する関数 + */ +void Battery::setTextColor(uint16_t color) +{ + _line_color = color; + _text_color = color; +} + +/** + * バッテリー残量の表示を更新する関数(ここを定期的に呼び出す) + */ +void Battery::batteryUpdate() +{ + if (rateskip % 5 == 0 || statusColor == 0) + { + statusColor = getBatteryColor(); + } + if (rateskip == 1 || i_percent == -1) + { + i_percent = calcBatteryPercent(); + rateskip = ratecount; + } + // 電池図形内部背景塗りつぶし + _sprite->fillRect(_x, _y, _width - 1, _height - 1, TFT_BLACK); + // 電池の外形 + drawBatteryLines(); + // バッテリー残量の割合を計算して背景色塗りつぶし + int b_width = int((_width - 2) * (i_percent / 100.0f)); + _sprite->fillRect(_x + 2, _y + 2, b_width, _height - 3, statusColor); + + showBatteryPercent(); // バッテリー数値を表示 + // Serial.printf("batt %d", i_percent); + // _sprite->pushSprite(_x + 1, _y + 1); // ディスプレイに表示 + rateskip--; +} + +/** + * 電池の図形を作成する関数 + */ +void Battery::drawBatteryLines() +{ + // 電池図形を作成 + _sprite->fillRect(_x, _y, _width + 1, _height + 1, _line_color); + _sprite->fillRect(_x + 1, _y + 1, _width - 1, _height - 1, TRANS_PARENTS); + _sprite->fillRect(_x + _width + 1, _y + _top_width, _top_width, _height - (_top_width * 2) + 1, _line_color); + + // _sprite->setBitmapColor(_line_color, TRANS_PARENTS); // 色を設定 + // _sprite->pushSprite(_x, _y, TRANS_PARENTS); // 表示 + // _sprite->deleteSprite(); // メモリ開放 +} + +/** + * バッテリー残量を表示する関数 + */ +void Battery::showBatteryPercent() +{ + // バッテリー数値を表示 + _sprite->setCursor(_x + _width + 7, _y + _showSize + 1); + _sprite->setTextFont(1); + _sprite->setTextColor(_text_color); + _sprite->setTextSize(_showSize); + _sprite->print(i_percent); + _sprite->print("%"); +} + +/** + * バッテリーの状態に応じて色を取得する関数 + */ +uint16_t Battery::getBatteryColor() +{ + // バッテリー稼働中は緑、電圧が低い時は赤色、充電中は青色 + uint16_t color = TFT_BLUE; + if (isLowBattery()) + { + color = TFT_RED; + } + else if (!isUsingBattery()) + { + color = TFT_GREEN; + } + return color; +} + +/** + * 低電圧状態かを判定する関数 + */ +bool Battery::isLowBattery() +{ + // 低電圧状態(3.4V以下)だと1それ以外は0 + uint8_t _low_bat = M5.Axp.GetWarningLeve(); + if (_low_bat == 0) + { + return false; + } + else + { + return true; + } +} + +/** + * バッテリー稼働か充電中かを判定する関数 + */ +bool Battery::isUsingBattery() +{ + // プラスが充電、マイナスがバッテリー稼働 + float _ibat = M5.Axp.GetBatCurrent(); + if (_ibat < 0.0f) + { + return true; + } + else + { + return false; + } +} +/** + * バッテリー残量%を計算する関数(戻り値は0~100) + */ +int Battery::calcBatteryPercent() +{ + float _vbat = M5.Axp.GetBatVoltage(); + float percent = (_vbat - MIN_BATTERY_VOLTAGE) / (MAX_BATTERY_VOLTAGE - MIN_BATTERY_VOLTAGE); + if (percent > 1.0f) + percent = 1.0f; + if (percent < 0.0f) + percent = 0.0f; + return roundf(percent * 100.0f); +} diff --git a/FactoryTest/FactoryTest.ino b/FactoryTest/FactoryTest.ino new file mode 100644 index 0000000..c163ba3 --- /dev/null +++ b/FactoryTest/FactoryTest.ino @@ -0,0 +1,1772 @@ +#include +#include "fft.h" +#include "esp_pm.h" +#include +#include +#include +#include +#include + +// #define ENABLE_BLE 1 +#ifdef ENABLE_BLE +#include +#include +#include +#include +#endif + +// #define ENABLE_OTA 1 +#ifdef ENABLE_OTA +#include +#endif + +#include "Battery.h" + +typedef struct +{ + double x; + double y; + double z; +} point_3d_t; + +typedef struct +{ + point_3d_t start_point; + point_3d_t end_point; +} line_3d_t; + +typedef struct +{ + double x; + double y; +} point_2d_t; + +double r_rand = PI / 180; + +double r_alpha = 19.47 * PI / 180; +double r_gamma = 20.7 * PI / 180; + +double sin_alpha = sin(19.47 * PI / 180); +double cos_alpha = cos(19.47 * PI / 180); +double sin_gamma = sin(20.7 * PI / 180); +double cos_gamma = cos(20.7 * PI / 180); + +extern const unsigned char ImageData[768]; +extern const unsigned char error_48[4608]; +extern const unsigned char icon_ir[4608]; +extern const unsigned char icon_wifi[4608]; +#ifdef ENABLE_BLE +extern const unsigned char icon_ble[4608]; +extern const unsigned char icon_ble_disconnect[4608]; +#else +extern const unsigned char icon_ble[1]; +extern const unsigned char icon_ble_disconnect[1]; +#endif + +bool TestMode = false; // テストモード 常時ONにした (A/Bボタンを押しながら起動すれば、通常のFactoryTestでもテストモードになる) +bool startCoundDownShutdown = false; // 電源OFFのカウントダウンを開始するならtrue +bool startWebOTA = false; // WebOTA(from Remote Signal)を開始するならtrue +#ifdef ENABLE_OTA +bool startOTA = false; +bool startOTAhandle = false; +#endif + +void start_WebOTA(); +bool wifi_setup(); +void ntp_setup(); +void wifi_down(); + +TFT_eSprite Disbuff = TFT_eSprite(&M5.Display); // 画面ちらつき防止スプライト(画面のバッファリング) + +hw_timer_t *timer = NULL; +volatile SemaphoreHandle_t timerSemaphore; +portMUX_TYPE timerMux = portMUX_INITIALIZER_UNLOCKED; +volatile uint8_t TimerCount = 0; + +Battery battery = Battery(); + +void IRAM_ATTR onTimer() // タイマー処理(LEDをチカチカさせている) +{ + portENTER_CRITICAL_ISR(&timerMux); + digitalWrite(10, TimerCount % 100); // LEDの明るさ + TimerCount++; + portEXIT_CRITICAL_ISR(&timerMux); +} + +void checkAXPPress() // 電源ボタン押下チェック +{ + if (M5.Axp.GetBtnPress()) // 電源ボタン押下したら + { + do + { + delay(20); + } while (M5.Axp.GetBtnPress()); + M5.Beep.mute(); + // ESP.restart(); + M5.Axp.Write1Byte(0x32, M5.Axp.Read8bit(0x32) | 0x80); // 電源OFF + } + + if (startCoundDownShutdown) + countDownShutdown(); + + if (startWebOTA) + countDownWebOTA(); +#ifdef ENABLE_OTA + if (startOTA) + { + startOTA = false; + OTA_Setup(); + startOTAhandle = true; + } + if (startOTAhandle) + ArduinoOTA.handle(); +#endif +} + +void Displaybuff() // Disbuffスプライトを表示する。(テストモードだったらTest Modeと表示する) +{ + Disbuff.setTextSize(1); + Disbuff.setTextColor(TFT_GREENYELLOW); + Disbuff.drawString("FactoryTest 2024", 10, 0, 1); + Disbuff.setTextColor(TFT_WHITE); + + battery.batteryUpdate(); + + // battery.showBattery(); + Disbuff.pushSprite(0, 0); +} + +void ErrorDialog(uint8_t code, const char *str) // エラー表示(主にバッテリー切れ警告) +{ + Disbuff.fillRect(28, 20, 184, 95, Disbuff.color565(45, 45, 45)); + Disbuff.fillRect(30, 22, 180, 91, TFT_BLACK); + // Disbuff.drawRect(30,22,180,91,Disbuff.color565(45,45,45)); + Disbuff.setSwapBytes(true); + Disbuff.pushImage(40, 43, 48, 48, (uint16_t *)error_48); + + Disbuff.setCursor(145, 37); + Disbuff.setTextFont(2); + Disbuff.printf("%02X", code); + Disbuff.drawString("ERROR", 55 + 45, 10 + 27, 2); + Disbuff.drawString("-----------------", 55 + 45, 30 + 27, 1); + Disbuff.drawString(str, 55 + 45, 45 + 27, 1); + Disbuff.drawString("check Hardware ", 55 + 45, 60 + 27, 1); + Disbuff.pushSprite(0, 0); + + while ((!M5.BtnA.isPressed()) && (!M5.BtnB.isPressed())) + { + M5.update(); + checkAXPPress(); + delay(100); + } + while ((M5.BtnA.isPressed()) || (M5.BtnB.isPressed())) + { + M5.update(); + checkAXPPress(); + M5.Beep.tone(4000); + delay(10); + } + delay(50); + M5.Beep.mute(); + Disbuff.setTextColor(TFT_WHITE); + Disbuff.setTextFont(1); +} + +bool point3Dto2D(point_3d_t *source, point_2d_t *point) +{ + point->x = (source->x * cos_gamma) - (source->y * sin_gamma); + point->y = -(source->x * sin_gamma * sin_alpha) - (source->y * cos_gamma * sin_alpha) + (source->z * cos_alpha); + return true; +} + +bool point2DToDisPoint(point_2d_t *point, uint8_t *x, uint8_t *y) +{ + *x = point->x + 120; + *y = 67 - point->y; + return true; +} + +bool printLine3D(TFT_eSprite *display, line_3d_t *line, uint32_t color) +{ + uint8_t start_x, start_y, end_x, end_y; + point_2d_t point; + point3Dto2D(&line->start_point, &point); + point2DToDisPoint(&point, &start_x, &start_y); + point3Dto2D(&line->end_point, &point); + point2DToDisPoint(&point, &end_x, &end_y); + + display->drawLine(start_x, start_y, end_x, end_y, color); + + return true; +} + +void RotatePoint(point_3d_t *point, double x, double y, double z) +{ + if (x != 0) + { + point->y = point->y * cos(x * r_rand) - point->z * sin(x * r_rand); + point->z = point->y * sin(x * r_rand) + point->z * cos(x * r_rand); + } + + if (y != 0) + { + point->x = point->z * sin(y * r_rand) + point->x * cos(y * r_rand); + point->z = point->z * cos(y * r_rand) - point->x * sin(y * r_rand); + } + + if (z != 0) + { + point->x = point->x * cos(z * r_rand) - point->y * sin(z * r_rand); + point->y = point->x * sin(z * r_rand) + point->y * cos(z * r_rand); + } +} + +void RotatePoint(point_3d_t *point, point_3d_t *point_new, double x, double y, double z) +{ + if (x != 0) + { + point_new->y = point->y * cos(x * r_rand) - point->z * sin(x * r_rand); + point_new->z = point->y * sin(x * r_rand) + point->z * cos(x * r_rand); + } + + if (y != 0) + { + point_new->x = point->z * sin(y * r_rand) + point->x * cos(y * r_rand); + point_new->z = point->z * cos(y * r_rand) - point->x * sin(y * r_rand); + } + + if (z != 0) + { + point_new->x = point->x * cos(z * r_rand) - point->y * sin(z * r_rand); + point_new->y = point->x * sin(z * r_rand) + point->y * cos(z * r_rand); + } +} + +line_3d_t rect[12] = { + {.start_point = {-1, -1, 1}, .end_point = {1, -1, 1}}, + {.start_point = {1, -1, 1}, .end_point = {1, 1, 1}}, + {.start_point = {1, 1, 1}, .end_point = {-1, 1, 1}}, + {.start_point = {-1, 1, 1}, .end_point = {-1, -1, 1}}, + { + .start_point = {-1, -1, 1}, + .end_point = {-1, -1, -1}, + }, + { + .start_point = {1, -1, 1}, + .end_point = {1, -1, -1}, + }, + { + .start_point = {1, 1, 1}, + .end_point = {1, 1, -1}, + }, + { + .start_point = {-1, 1, 1}, + .end_point = {-1, 1, -1}, + }, + {.start_point = {-1, -1, -1}, .end_point = {1, -1, -1}}, + {.start_point = {1, -1, -1}, .end_point = {1, 1, -1}}, + {.start_point = {1, 1, -1}, .end_point = {-1, 1, -1}}, + {.start_point = {-1, 1, -1}, .end_point = {-1, -1, -1}}, +}; + +void MPU6886Test() // 加速度テスト +{ + float accX = 0; + float accY = 0; + float accZ = 0; + + double theta = 0, last_theta = 0; + double phi = 0, last_phi = 0; + double alpha = 0.2; + + line_3d_t x = { + .start_point = {0, 0, 0}, + .end_point = {0, 0, 0}}; + line_3d_t y = { + .start_point = {0, 0, 0}, + .end_point = {0, 0, 0}}; + line_3d_t z = { + .start_point = {0, 0, 0}, + .end_point = {0, 0, 30}}; + + line_3d_t rect_source[12]; + line_3d_t rect_dis; + for (int n = 0; n < 12; n++) + { + rect_source[n].start_point.x = rect[n].start_point.x * 30; + rect_source[n].start_point.y = rect[n].start_point.y * 30; + rect_source[n].start_point.z = rect[n].start_point.z * 30; + rect_source[n].end_point.x = rect[n].end_point.x * 30; + rect_source[n].end_point.y = rect[n].end_point.y * 30; + rect_source[n].end_point.z = rect[n].end_point.z * 30; + } + + while ((!M5.BtnA.isPressed()) /*&& (!M5.BtnB.isPressed())*/) + { + + M5.Imu.getAccelData(&accX, &accY, &accZ); + // M5.MPU6886.getAccelData(&accX, &accY, &accZ); + if ((accX < 1) && (accX > -1)) + { + theta = asin(-accX) * 57.295; + } + if (accZ != 0) + { + phi = atan(accY / accZ) * 57.295; + } + + theta = alpha * theta + (1 - alpha) * last_theta; + phi = alpha * phi + (1 - alpha) * last_phi; + + Disbuff.fillRect(0, 0, 240, 135, TFT_BLACK); + Disbuff.setTextSize(1); + Disbuff.setCursor(10, 115); + Disbuff.printf("%.2f", theta); + Disbuff.setCursor(10, 125); + Disbuff.printf("%.2f", phi); + // Displaybuff(); + delay(20); + + z.end_point.x = 0; + z.end_point.y = 0; + z.end_point.z = 60; + RotatePoint(&z.end_point, theta, phi, 0); + RotatePoint(&z.end_point, &x.end_point, -90, 0, 0); + RotatePoint(&z.end_point, &y.end_point, 0, 90, 0); + + for (int n = 0; n < 12; n++) + { + RotatePoint(&rect_source[n].start_point, &rect_dis.start_point, theta, phi, (double)0); + RotatePoint(&rect_source[n].end_point, &rect_dis.end_point, theta, phi, (double)0); + printLine3D(&Disbuff, &rect_dis, TFT_WHITE); + } + // Disbuff.fillRect(0,0,160,80,BLACK); + printLine3D(&Disbuff, &x, TFT_RED); + printLine3D(&Disbuff, &y, TFT_GREEN); + printLine3D(&Disbuff, &z, TFT_BLUE); + /* + Disbuff.setTextColor(TFT_WHITE); + Disbuff.setTextSize(1); + Disbuff.fillRect(0,0,52,18,Disbuff.color565(20,20,20)); + Disbuff.drawString("MPU6886",5,5,1); + */ + Displaybuff(); + last_theta = theta; + last_phi = phi; + + M5.update(); + checkAXPPress(); + } + while ((M5.BtnA.isPressed()) || (M5.BtnB.isPressed())) + { + M5.update(); + checkAXPPress(); + M5.Beep.tone(4000); + delay(10); + } + delay(50); + M5.Beep.mute(); + Disbuff.setTextColor(TFT_WHITE); +} + +SemaphoreHandle_t xSemaphore = NULL; +SemaphoreHandle_t start_dis = NULL; +SemaphoreHandle_t start_fft = NULL; +int8_t i2s_readraw_buff[2048]; +uint8_t fft_dis_buff[241][128] = {0}; +uint16_t posData = 160; +char fftmes[30]; +int fftmax, fftmaxidx; + +void MicRecordfft(void *arg) // フーリエ変換 +{ + int16_t *buffptr; + size_t bytesread; + uint16_t count_n = 0; + float adc_data; + double data = 0; + uint16_t ydata; + uint16_t count_offset = 1; + + while (1) + { + xSemaphoreTake(start_fft, portMAX_DELAY); + xSemaphoreGive(start_fft); + fft_config_t *real_fft_plan = fft_init(1024, FFT_REAL, FFT_FORWARD, NULL, NULL); + i2s_read(I2S_NUM_0, (char *)i2s_readraw_buff, 2048, &bytesread, (100 / portTICK_RATE_MS)); // portTICK_RATE_MS は 1 + buffptr = (int16_t *)i2s_readraw_buff; + + // fftmax, fftmaxidx = real_fft_plan->size; + + for (count_n = 0; count_n < real_fft_plan->size; count_n++) // eal_fft_plan->sizeは1024 + { + adc_data = (float)map(buffptr[count_n], INT16_MIN, INT16_MAX, -2000, 2000); // long map(long x, long in_min, long in_max, long out_min, long out_max) + real_fft_plan->input[count_n] = adc_data; + } + fft_execute(real_fft_plan); + + xSemaphoreTake(xSemaphore, 100 / portTICK_RATE_MS); + for (count_n = 1; count_n < real_fft_plan->size / 4; count_n++) // 1024/4=>256 + { + data = sqrt(real_fft_plan->output[2 * count_n] * real_fft_plan->output[2 * count_n] + real_fft_plan->output[2 * count_n + 1] * real_fft_plan->output[2 * count_n + 1]); + if ((count_n - 1) < 254) + { + data = (data > 3000) ? 3000 : data; + ydata = map(data, 0, 3000, 0, 255); + if (128 - count_n > 0) + fft_dis_buff[posData][128 - count_n] = ydata; + if (ydata > 40 && fftmax < ydata) + { + fftmax = ydata; + fftmaxidx = count_n; + } + } + } + + posData++; + if (posData >= 241) + { + posData = 0; + } + xSemaphoreGive(xSemaphore); + fft_destroy(real_fft_plan); + } +} + +void Drawdisplay(void *arg) // フーリエ変換のときの画面表示 +{ + uint16_t count_x = 0, count_y = 0; + uint16_t colorPos; + while (1) + { + xSemaphoreTake(start_dis, portMAX_DELAY); + xSemaphoreGive(start_dis); + xSemaphoreTake(xSemaphore, 500 / portTICK_RATE_MS); + for (count_y = 0; count_y < 128; count_y++) + { + for (count_x = 0; count_x < 240; count_x++) + { + if ((count_x + (posData % 240)) > 240) + { + colorPos = fft_dis_buff[count_x + (posData % 240) - 240][count_y]; + } + else + { + colorPos = fft_dis_buff[count_x + (posData % 240)][count_y]; + } + + Disbuff.drawPixel(count_x, count_y, Disbuff.color565(ImageData[colorPos * 3 + 0], ImageData[colorPos * 3 + 1], ImageData[colorPos * 3 + 2])); + /* + disbuff[ count_y * 160 + count_x ].r = ImageData[ colorPos * 3 + 0 ]; + disbuff[ count_y * 160 + count_x ].g = ImageData[ colorPos * 3 + 1 ]; + disbuff[ count_y * 160 + count_x ].b = ImageData[ colorPos * 3 + 2 ]; + */ + } + } + xSemaphoreGive(xSemaphore); + + Disbuff.setTextColor(WHITE); + Disbuff.setTextSize(1); + Disbuff.fillRect(0, 0, 235, 20, Disbuff.color565(20, 20, 20)); + if (fftmaxidx > 200) + { + Disbuff.fillRect(0, 0, 235, 20, Disbuff.color565(fftmax, 20, 20)); + } + sprintf(fftmes, "max %3d idx %3d %5.0f Hz", fftmax, fftmaxidx, fftmaxidx * 41.67); + Disbuff.drawString(fftmes, 5, 5, 2); + fftmax = 0; + fftmaxidx = 0; + + Disbuff.pushSprite(0, 0); + } +} + +TaskHandle_t xhandle_display = NULL; +TaskHandle_t xhandle_fft = NULL; + +void DisplayMicro() +{ + Disbuff.fillRect(0, 0, 160, 80, Disbuff.color565(0, 0, 0)); // 黒(R=0,G=0,B=0)で塗りつぶす + Disbuff.pushSprite(0, 0); + + xSemaphoreGive(start_dis); // 画面表示タスク スタート + xSemaphoreGive(start_fft); // フーリエ変換タスク スタート + while ((!M5.BtnA.isPressed()) && (!M5.BtnB.isPressed())) // ABボタン押していない間、くりかえす + { + xSemaphoreGive(start_dis); + xSemaphoreGive(start_fft); + M5.update(); + xSemaphoreTake(start_dis, portMAX_DELAY); //  画面表示タスク 一時停止 + xSemaphoreTake(start_fft, portMAX_DELAY); // フーリエ変換タスク 一時停止 + checkAXPPress(); + } + // xSemaphoreTake( start_dis , portMAX_DELAY ); + // xSemaphoreTake( start_fft , portMAX_DELAY ); + + while ((M5.BtnA.isPressed()) || (M5.BtnB.isPressed())) // ABボタン押している間、くりかえす + { + M5.update(); + checkAXPPress(); + M5.Beep.tone(4000); + delay(10); + } + delay(50); + M5.Beep.mute(); +} + +#define PIN_CLK 0 +#define PIN_DATA 34 + +bool InitI2SMicroPhone() // マイクの初期化 +{ + esp_err_t err = ESP_OK; + i2s_config_t i2s_config = { + .mode = (i2s_mode_t)(I2S_MODE_MASTER | I2S_MODE_RX | I2S_MODE_PDM), + .sample_rate = 44100, + .bits_per_sample = I2S_BITS_PER_SAMPLE_16BIT, // is fixed at 12bit, stereo, MSB + .channel_format = I2S_CHANNEL_FMT_ALL_RIGHT, + .communication_format = I2S_COMM_FORMAT_I2S, + .intr_alloc_flags = ESP_INTR_FLAG_LEVEL1, + .dma_buf_count = 2, + .dma_buf_len = 128, + }; + + i2s_pin_config_t pin_config; + pin_config.bck_io_num = I2S_PIN_NO_CHANGE; + pin_config.ws_io_num = PIN_CLK; + pin_config.data_out_num = I2S_PIN_NO_CHANGE; + pin_config.data_in_num = PIN_DATA; + + err += i2s_driver_install(I2S_NUM_0, &i2s_config, 0, NULL); + err += i2s_set_pin(I2S_NUM_0, &pin_config); + err += i2s_set_clk(I2S_NUM_0, 44100, I2S_BITS_PER_SAMPLE_16BIT, I2S_CHANNEL_MONO); + // i2s_set_clk(0) + + if (err != ESP_OK) + { + return false; + } + else + { + return true; + } +} + +void DisplayRTC() // リアルタイムクロック(内蔵時計) +{ + Disbuff.fillRect(0, 0, 240, 135, Disbuff.color565(0, 0, 0)); + // Displaybuff(); + M5.Rtc.GetBm8563Time(); + RTC_TimeTypeDef time; + M5.Rtc.GetTime(&time); + + // Disbuff.setTextSize(4); + // Disbuff.setCursor(6, 25); + // Disbuff.setTextColor(TFT_GREEN); + + while ((!M5.BtnA.isPressed()) && (!M5.BtnB.isPressed())) + { + Disbuff.fillRect(0, 0, 240, 135, Disbuff.color565(0, 0, 0)); + M5.Rtc.GetTime(&time); + Disbuff.setTextSize(4); + Disbuff.setTextColor(TFT_GREENYELLOW); + Disbuff.setCursor(25, 50); + Disbuff.printf("%02d:%02d:%02d", time.hours, time.minutes, time.seconds); + Disbuff.fillRect(0, 0, 240, 35, Disbuff.color565(20, 20, 20)); + Disbuff.setTextSize(2); + Disbuff.setTextColor(TFT_WHITE); + Disbuff.drawString("BMP8563 RTC Time", 26, 15, 1); + Disbuff.setTextSize(2); + Disbuff.setCursor(6, 90); + Disbuff.setTextColor(TFT_YELLOW); + Disbuff.println("Press B to sync RTC from NTP"); + Displaybuff(); + M5.update(); + checkAXPPress(); + delay(100); + } + if (M5.BtnB.isPressed()) + { + // RTC sync from NTP + // Wifi → NTP → update RTC → WifiOff + if (wifi_setup()) + ntp_setup(); + wifi_down(); + + Init_ESPNOW(); // ESPNOWの初期化 + + M5.update(); + DisplayRTC(); // あまりよろしくないが、やっぱり時刻同期を確認したいので + } + while ((M5.BtnA.isPressed()) || (M5.BtnB.isPressed())) + { + M5.update(); + checkAXPPress(); + M5.Beep.tone(4000); + delay(10); + } + delay(50); + M5.Beep.mute(); + Disbuff.setTextColor(TFT_WHITE); +} + +#ifdef ENABLE_IRSEND +static esp_pm_lock_handle_t rmt_freq_lock; +#define RMT_TX_CHANNEL RMT_CHANNEL_0 +#define RMT_TX_GPIO_NUM GPIO_NUM_9 +#define RMT_CLK_DIV (1) // 80000000 / 1(HZ) + +rmt_item32_t *tx_buffer = NULL; + +void ir_tx_callback(rmt_channel_t channel, void *arg) +{ + // static BaseType_t xHigherPriorityTaskWoken = false; + if (channel == RMT_TX_CHANNEL) + { + esp_pm_lock_release(rmt_freq_lock); + // xHigherPriorityTaskWoken = pdFALSE; + // xSemaphoreGiveFromISR( irTxSem, &xHigherPriorityTaskWoken ); + free(tx_buffer); + } +} + +bool InitIRTx() // 赤外線通信 初期化 +{ + rmt_config_t rmt_tx; + rmt_tx.rmt_mode = RMT_MODE_TX; + rmt_tx.channel = RMT_TX_CHANNEL; + rmt_tx.gpio_num = RMT_TX_GPIO_NUM; + + rmt_tx.mem_block_num = 1; + rmt_tx.clk_div = RMT_CLK_DIV; + + rmt_tx.tx_config.loop_en = false; + rmt_tx.tx_config.carrier_duty_percent = 50; + rmt_tx.tx_config.carrier_freq_hz = 38000; + rmt_tx.tx_config.carrier_level = RMT_CARRIER_LEVEL_LOW; + rmt_tx.tx_config.carrier_en = true; + rmt_tx.tx_config.idle_level = RMT_IDLE_LEVEL_HIGH; + rmt_tx.tx_config.idle_output_en = true; + rmt_config(&rmt_tx); + rmt_driver_install(rmt_tx.channel, 0, 0); + + return true; +} + +bool ir_uart_tx(const uint8_t *src, uint8_t len, bool wait_tx_done) +{ + /* + if(src == NULL || recvFlag == true) { + return false; + } + */ + if (src == NULL) + { + return false; + } + +#if BAUD == 4800 + const rmt_item32_t bit0 = {{{8421, 1, 8421, 1}}}; // Logical 0 + const rmt_item32_t bit1 = {{{8421, 0, 8421, 0}}}; // Logical 1 +#else + const rmt_item32_t bit0 = {{{16842, 1, 16842, 1}}}; // Logical 0 + const rmt_item32_t bit1 = {{{16842, 0, 16842, 0}}}; // Logical 1 +#endif + + uint8_t *psrc = (uint8_t *)src; + // xSemaphoreTake(irTxSem, portMAX_DELAY); + + tx_buffer = (rmt_item32_t *)malloc(sizeof(rmt_item32_t) * 10 * len); + if (tx_buffer == NULL) + { + return false; + } + + rmt_item32_t *pdest = tx_buffer; + + for (uint8_t ptr = 0; ptr < len; ptr++) + { + pdest->val = bit0.val; + pdest++; + for (int i = 0; i < 8; i++) + { + if (*psrc & (0x1 << i)) + { + pdest->val = bit1.val; + } + else + { + pdest->val = bit0.val; + } + pdest++; + } + pdest->val = bit1.val; + pdest++; + psrc++; + } + + esp_pm_lock_acquire(rmt_freq_lock); + rmt_write_items(RMT_TX_CHANNEL, tx_buffer, 10 * len, true); + free(tx_buffer); + return true; +} +#endif + +#ifdef ENABLE_BLE +#define SERVICE_UUID "1bc68b2a-f3e3-11e9-81b4-2a2ae2dbcce4" +#define CHARACTERISTIC_RX_UUID "1bc68da0-f3e3-11e9-81b4-2a2ae2dbcce4" +#define CHARACTERISTIC_TX_UUID "1bc68efe-f3e3-11e9-81b4-2a2ae2dbcce4" + +BLEServer *pServer = NULL; +BLEService *pService = NULL; +BLECharacteristic *pTxCharacteristic; +bool deviceConnected = false; +bool oldDeviceConnected = false; + +class MyServerCallbacks : public BLEServerCallbacks +{ + void onConnect(BLEServer *pServer) + { + deviceConnected = true; + }; + + void onDisconnect(BLEServer *pServer) + { + deviceConnected = false; + } +}; + +uint8_t *data = new uint8_t[128]; + +class MyCallbacks : public BLECharacteristicCallbacks +{ + + void onWrite(BLECharacteristic *pCharacteristic) + { + data = pCharacteristic->getData(); + } +}; + +bool InitBLEServer() // Bluetooth Low Energyサーバ初期化 +{ + uint64_t chipid = ESP.getEfuseMac(); + String blename = "M5-" + String((uint32_t)(chipid >> 32), HEX); + + BLEDevice::init(blename.c_str()); + // BLEDevice::setPower(ESP_PWR_LVL_N12); + pServer = BLEDevice::createServer(); + + pServer->setCallbacks(new MyServerCallbacks()); + pService = pServer->createService(SERVICE_UUID); + pTxCharacteristic = pService->createCharacteristic( + CHARACTERISTIC_RX_UUID, + BLECharacteristic::PROPERTY_NOTIFY); + + pTxCharacteristic->addDescriptor(new BLE2902()); + BLECharacteristic *pRxCharacteristic = pService->createCharacteristic( + CHARACTERISTIC_TX_UUID, + BLECharacteristic::PROPERTY_WRITE); + pRxCharacteristic->setCallbacks(new MyCallbacks()); + + return true; +} + +#endif + +bool checkAXP192() // 電源・バッテリー管理モジュール +{ + float VBat = M5.Axp.GetBatVoltage(); + + while (VBat < 3.2) + { + VBat = M5.Axp.GetBatVoltage(); + ErrorDialog(0x22, "Bat Vol error"); + } + + return true; +} + +uint8_t crc8(uint8_t data, uint8_t *buff, uint32_t length) // 巡回冗長検査 +{ + uint8_t bit; // bit mask + uint8_t crc = 0xFF; // calculated checksum + uint8_t byteCtr; // byte counter + for (byteCtr = 0; byteCtr < length; byteCtr++) + { + crc ^= (buff[byteCtr]); + for (bit = 8; bit > 0; --bit) + { + if (crc & 0x80) + { + crc = (crc << 1) ^ data; + } + else + { + crc = (crc << 1); + } + } + } + return crc; +} + +// ENV. II SENSORをつないだときに、温度と湿度がとれる +int getTempAndHum(float *temp, float *hum) +{ + static float _tempSave, _HUmSave; + uint8_t databuff[6]; + Wire.beginTransmission(0x44); + Wire.write(0x2c); + Wire.write(0x06); + Wire.endTransmission(); + Wire.requestFrom(0x44, 6); + + for (int i = 0; i < 6; i++) + { + databuff[i] = Wire.read(); + Serial.printf("%02X ", databuff[i]); + } + Serial.println("--"); + + if (crc8(0x31, &databuff[0], 2) == databuff[2]) + { + uint16_t tempraw = databuff[0] << 8 | databuff[1]; + *temp = -45 + 175 * (float(tempraw) / 65535.0); + _tempSave = *temp; + Serial.printf("Temp:%.2f ", *temp); + } + else + { + *temp = _tempSave; + } + + if (crc8(0x31, &databuff[3], 2) == databuff[5]) + { + uint16_t Humraw = databuff[3] << 8 | databuff[4]; + *hum = 100 * (float(Humraw) / 65535.0); + _HUmSave = *hum; + Serial.printf("Hum:%.2f \n", *hum); + } + else + { + *hum = _HUmSave; + } + return 0; +} + +#ifdef ENABLE_IRSEND +void DisIRSend() // 赤外線通信 画面表示 +{ + uint8_t senddata[20] = {0}; + memset(senddata, 0x00, sizeof(uint8_t) * 20); + + while ((!M5.BtnA.isPressed()) && (!M5.BtnB.isPressed())) + { + Disbuff.fillRect(0, 0, 240, 135, TFT_BLACK); + Disbuff.setSwapBytes(true); + Disbuff.pushImage(180, 16, 48, 48, (uint16_t *)icon_ir); + Disbuff.setTextColor(Disbuff.color565(180, 180, 180)); + Disbuff.setTextSize(3); + Disbuff.setCursor(12, 20); + Disbuff.printf("IR Send "); + + Disbuff.setTextSize(5); + Disbuff.setCursor(12, 75); + if (senddata[0] % 4 == 0) + { + Disbuff.printf("0x%02X> ", senddata[0]); + } + else if (senddata[0] % 4 == 1) + { + Disbuff.printf("0x%02X>>", senddata[0]); + } + else if (senddata[0] % 4 == 2) + { + Disbuff.printf("0x%02X >>", senddata[0]); + } + else if (senddata[0] % 4 == 3) + { + Disbuff.printf("0x%02X >", senddata[0]); + } + + Displaybuff(); + senddata[1]++; + if (senddata[1] > 3) + { + senddata[1] = 0; + senddata[0]++; + ir_uart_tx(senddata, 20, true); + } + checkAXPPress(); + M5.update(); + delay(100); + } + while ((M5.BtnA.isPressed()) || (M5.BtnB.isPressed())) + { + M5.update(); + checkAXPPress(); + M5.Beep.tone(4000); + delay(10); + } + delay(50); + M5.Beep.mute(); + Disbuff.setTextColor(TFT_WHITE); +} +#endif + +#ifdef ENABLE_BLE +void DisPlayBLESend() // Bluetooth Low Energy 画面表示 +{ + uint8_t senddata[2] = {0}; + + pService->start(); + pServer->getAdvertising()->start(); + + uint64_t chipid = ESP.getEfuseMac(); + String blename = "M5-" + String((uint32_t)(chipid >> 32), HEX); + + while ((!M5.BtnA.isPressed()) && (!M5.BtnB.isPressed())) + { + Disbuff.fillRect(0, 0, 240, 135, TFT_BLACK); + if (deviceConnected) + { + Disbuff.pushImage(180, 16, 48, 48, (uint16_t *)icon_ble); + Disbuff.setTextColor(Disbuff.color565(180, 180, 180)); + Disbuff.setTextSize(3); + Disbuff.setCursor(12, 20); + // Disbuff.printf("BLE connect!\n"); + Disbuff.printf("BLE Send\n"); + Disbuff.setTextSize(5); + Disbuff.setCursor(12, 75); + if (senddata[0] % 4 == 0) + { + Disbuff.printf("0x%02X> ", senddata[0]); + } + else if (senddata[0] % 4 == 1) + { + Disbuff.printf("0x%02X>>", senddata[0]); + } + else if (senddata[0] % 4 == 2) + { + Disbuff.printf("0x%02X >>", senddata[0]); + } + else if (senddata[0] % 4 == 3) + { + Disbuff.printf("0x%02X >", senddata[0]); + } + + senddata[1]++; + if (senddata[1] > 3) + { + senddata[1] = 0; + senddata[0]++; + pTxCharacteristic->setValue(senddata, 1); + pTxCharacteristic->notify(); + } + } + else + { + Disbuff.setTextSize(2); + Disbuff.setCursor(12, 20); + Disbuff.setTextColor(TFT_RED); + Disbuff.printf("BLE disconnect\n"); + Disbuff.setCursor(12, 45); + Disbuff.setTextColor(Disbuff.color565(18, 150, 219)); + + Disbuff.printf(String("Name:" + blename + "\n").c_str()); + Disbuff.setCursor(12, 70); + Disbuff.printf("UUID:1bc68b2a\n"); + Disbuff.pushImage(180, 16, 48, 48, (uint16_t *)icon_ble_disconnect); + } + Displaybuff(); + + M5.update(); + delay(100); + checkAXPPress(); + } + while ((M5.BtnA.isPressed()) || (M5.BtnB.isPressed())) + { + M5.update(); + checkAXPPress(); + M5.Beep.tone(4000); + delay(10); + } + delay(50); + M5.Beep.mute(); + Disbuff.setTextColor(TFT_WHITE); + pService->stop(); + pServer->getAdvertising()->stop(); +} +#endif + +void DisplayGroveSHT30() // SHT30=ENV. II SENSOR 温度と湿度 +{ + float tempdata, humdata; + uint8_t count = 0; + + Wire.begin(32, 33); + + while ((!M5.BtnA.isPressed()) && (!M5.BtnB.isPressed())) + { + Disbuff.fillRect(0, 0, 240, 135, TFT_BLACK); + Disbuff.setSwapBytes(true); + Disbuff.pushImage(180, 16, 48, 48, (uint16_t *)icon_ir); + Disbuff.setTextColor(Disbuff.color565(180, 180, 180)); + Disbuff.setTextSize(3); + Disbuff.setCursor(12, 20); + Disbuff.printf("IR Send "); + + if (count >= 10) + { + count = 0; + getTempAndHum(&tempdata, &humdata); // ENV. II SENSORをつないだときに、温度と湿度がとれる + + Disbuff.setCursor(12, 50); + Disbuff.printf("%.2f", tempdata); + Disbuff.setCursor(12, 80); + Disbuff.printf("%.2f", humdata); + Disbuff.pushSprite(0, 0); + } + checkAXPPress(); + M5.update(); + delay(100); + count++; + } + while ((M5.BtnA.isPressed()) || (M5.BtnB.isPressed())) + { + M5.update(); + checkAXPPress(); + M5.Beep.tone(4000); + delay(10); + } + delay(50); + M5.Beep.mute(); + Disbuff.setTextColor(TFT_WHITE); +} +void DisplayTestMode() // テストモード:ピンの電圧とバッテリー電圧 +{ + float tempdata, humdata; + uint8_t count = 10, count_u = 0, count_t = 0; + + i2s_pin_config_t pin_config; + pin_config.bck_io_num = I2S_PIN_NO_CHANGE; + pin_config.ws_io_num = 33; + pin_config.data_out_num = I2S_PIN_NO_CHANGE; + pin_config.data_in_num = PIN_DATA; + i2s_set_pin(I2S_NUM_0, &pin_config); + + i2s_driver_uninstall(I2S_NUM_0); + + gpio_reset_pin(GPIO_NUM_0); + gpio_reset_pin(GPIO_NUM_26); + + pinMode(26, OUTPUT); + pinMode(25, INPUT_PULLDOWN); + pinMode(36, INPUT_PULLDOWN); + pinMode(0, OUTPUT); + + digitalWrite(0, 0); + digitalWrite(26, 0); + + while ((!M5.BtnA.isPressed()) && (!M5.BtnB.isPressed())) + { + Disbuff.fillRect(0, 0, 240, 135, TFT_BLACK); + Disbuff.setSwapBytes(true); + Disbuff.setTextColor(Disbuff.color565(180, 180, 180)); + Disbuff.setTextSize(3); + + Disbuff.setCursor(12, 7); + if (M5.Axp.GetBatVoltage() > 3.2) // バッテリーの電圧(残量によって変化する) + { + Disbuff.setTextColor(TFT_GREEN); + } + else + { + Disbuff.setTextColor(TFT_RED); + } + Disbuff.printf("b%.2f", M5.Axp.GetBatVoltage()); // バッテリー電圧を表示する + + Disbuff.setCursor(12, 37); + if (M5.Axp.GetVinVoltage() > 4.6) + { + Disbuff.setTextColor(TFT_GREEN); + } + else + { + Disbuff.setTextColor(TFT_RED); + } + Disbuff.printf("v%.2f", M5.Axp.GetVinVoltage()); // 外部電源電圧(5V←の電圧) + + digitalWrite(0, 0); + digitalWrite(26, 0); + count_u = 0; + count_t = 0; + + for (int i = 0; i < 10; i++) + { + digitalWrite(0, i % 2); + delay(10); + // pin36_adc = analogRead(36); + if ((digitalRead(36) == HIGH) && (i % 2 == 1)) + { + count_u++; + } + if ((digitalRead(25) == HIGH) && (i % 2 == 1)) + { + count_t++; + } + } + + Disbuff.setCursor(110, 7); + if (count_u >= 5) + { + Disbuff.setTextColor(TFT_GREEN); + Disbuff.printf(" %d G0", count_u); + } + else + { + Disbuff.setTextColor(TFT_RED); + Disbuff.printf(" %d G0", count_u); + } + Disbuff.setTextColor(TFT_WHITE); + + Disbuff.setCursor(110, 37); + if (count_t >= 5) + { + Disbuff.setTextColor(TFT_GREEN); + Disbuff.printf(" %d G25", count_t); + } + else + { + Disbuff.setTextColor(TFT_RED); + Disbuff.printf(" %d G25", count_t); + } + Disbuff.setTextColor(TFT_WHITE); + + digitalWrite(0, 0); + digitalWrite(26, 0); + count_u = 0; + + for (int i = 0; i < 10; i++) + { + digitalWrite(26, i % 2); + delay(10); + // pin36_adc = analogRead(36); + if ((digitalRead(36) == HIGH) && (i % 2 == 1)) + { + count_u++; + } + } + + Disbuff.setCursor(110, 67); + if (count_u >= 5) + { + Disbuff.setTextColor(TFT_GREEN); + Disbuff.printf(" %d G26", count_u); + } + else + { + Disbuff.setTextColor(TFT_RED); + Disbuff.printf(" %d G26", count_u); + } + Disbuff.setTextColor(TFT_WHITE); + + digitalWrite(0, 0); + digitalWrite(26, 0); + // Serial.printf("G36 Vol:%d\n",analogRead(36)); + + if (count >= 10) + { + count = 0; + getTempAndHum(&tempdata, &humdata); // ENV. II SENSORをつないだときに、温度と湿度がとれる + } + + Disbuff.setTextColor(TFT_WHITE); // 白色で + Disbuff.setCursor(12, 67); + Disbuff.printf(" %.1f", tempdata); // 温度? + Disbuff.setCursor(12, 97); + Disbuff.printf(" %.1f", humdata); // 湿度? + + Disbuff.pushSprite(0, 0); + + checkAXPPress(); + M5.update(); + delay(10); + count++; + } + while ((M5.BtnA.isPressed()) || (M5.BtnB.isPressed())) + { + M5.update(); + checkAXPPress(); + M5.Beep.tone(4000); + delay(10); + } + delay(50); + M5.Beep.mute(); + Disbuff.setTextColor(TFT_WHITE); + + InitI2SMicroPhone(); +} + +esp_now_peer_info_t peerInfo; +void Init_ESPNOW() +{ // ESPNowの初期化 + // 引用: https://101010.fun/iot/esp32-m5stickc-plus-esp-now.html + WiFi.mode(WIFI_STA); + WiFi.disconnect(); + if (esp_now_init() == ESP_OK) + { + Serial.println("ESP-Now Init Success"); + } + else + { + Serial.println("ESP-Now Init failed"); + ESP.restart(); + } + // マルチキャスト用Slave登録 + memset(&peerInfo, 0, sizeof(peerInfo)); + for (int i = 0; i < 6; ++i) + { + peerInfo.peer_addr[i] = (uint8_t)0xff; + } + esp_err_t addStatus = esp_now_add_peer(&peerInfo); + if (addStatus == ESP_OK) + { + // Pair success + Serial.println("Pair success"); + esp_now_register_send_cb(onESPNOWSent); // 送信後のコールバック関数を指定する + esp_now_register_recv_cb(onESPNOWReceive); /// 受信時のコールバック関数を指定する + } +} +// 引用: https://101010.fun/iot/esp32-m5stickc-plus-esp-now.html +void onESPNOWReceive(const uint8_t *mac_addr, const uint8_t *data, int data_len) +{ + // char macStr[18]; + // snprintf(macStr, sizeof(macStr), "%02X:%02X:%02X:%02X:%02X:%02X", + // mac_addr[0], mac_addr[1], mac_addr[2], mac_addr[3], mac_addr[4], mac_addr[5]); + // Serial.println(); + // Serial.printf("Last Packet Recv from: %s\n", macStr); + // Serial.printf("Last Packet Recv Data(%d): ", data_len); + if (strcmp((char*)data,"ESPNOW__SHUTDOWN")==0) // 100,254に深い意味はない。uint8_tは0〜255の数値 + { + startCoundDownShutdown = true; // シャットダウンタイマースタート予約(発動はcheckAXPPress()のなかで) + } + if (strcmp((char*)data,"ESPNOW__WEBOTA")==0) // 99,254に深い意味はない。uint8_tは0〜255の数値 + { + startWebOTA = true; + } +} +void countDownShutdown() +{ + int countsec = 10; + int subcount = 10; + while ((!M5.BtnA.isPressed()) && (!M5.BtnB.isPressed())) + { + Disbuff.fillRect(0, 0, 240, 135, TFT_ORANGE); + Disbuff.setTextColor(TFT_BLACK); + Disbuff.setTextSize(3); + Disbuff.setCursor(12, 20); + Disbuff.printf("%d sec to shutdown. press A to cancel.", countsec); + + Disbuff.pushSprite(0, 0); + M5.update(); + delay(100); + subcount--; // subcountが10から0になると、約1秒 + if (subcount < 0) + { + countsec--; // カウントダウン秒数を減らす + subcount = 10; + } + if (countsec < 0) + { + M5.Axp.Write1Byte(0x32, M5.Axp.Read8bit(0x32) | 0x80); // 電源OFF + } + } + startCoundDownShutdown = false; + delay(50); + M5.Beep.mute(); + Disbuff.setTextColor(TFT_WHITE); +} +void countDownWebOTA() +{ + int countsec = 10; + int subcount = 10; + while ((!M5.BtnA.isPressed()) && (!M5.BtnB.isPressed())) + { + Disbuff.fillRect(0, 0, 240, 135, TFT_PURPLE); + Disbuff.setTextColor(TFT_WHITE); + Disbuff.setTextSize(3); + Disbuff.setCursor(12, 20); + Disbuff.printf("%d sec to\n WebOTA.\n press A to cancel.", countsec); + + Disbuff.pushSprite(0, 0); + M5.update(); + delay(100); + subcount--; // subcountが10から0になると、約1秒 + if (subcount < 0) + { + countsec--; // カウントダウン秒数を減らす + subcount = 10; + } + if (countsec < 0) + { + start_WebOTA(); + } + } + startWebOTA = false; + delay(50); + M5.Beep.mute(); + Disbuff.setTextColor(TFT_WHITE); +} + +void onESPNOWSent(const uint8_t *mac_addr, esp_now_send_status_t status) +{ + char macStr[18]; + snprintf(macStr, sizeof(macStr), "%02X:%02X:%02X:%02X:%02X:%02X", + mac_addr[0], mac_addr[1], mac_addr[2], mac_addr[3], mac_addr[4], mac_addr[5]); + // Serial.print("Last Packet Sent to: "); + // Serial.println(macStr); + // Serial.print("Last Packet Send Status: "); + // Serial.println(status == ESP_NOW_SEND_SUCCESS ? "Delivery Success" : "Delivery Fail"); +} + +void ESP_NOW_SendShutdown() // Bボタンを押したら、ESPNOWで周辺デバイスの電源OFF +{ + while ((!M5.BtnA.isPressed()) /*&& (!M5.BtnB.isPressed())*/) + { + if (TestMode) + { + Disbuff.fillRect(0, 0, 240, 135, TFT_PURPLE); + Disbuff.setTextColor(TFT_YELLOW); + Disbuff.setTextSize(3); + Disbuff.setCursor(12, 20); + Disbuff.printf("Press the B button to WebOTA nearby devices"); + } + else + { + Disbuff.fillRect(0, 0, 240, 135, TFT_BLUE); + Disbuff.setTextColor(TFT_YELLOW); + Disbuff.setTextSize(3); + Disbuff.setCursor(12, 20); + Disbuff.printf("Press the B button to turn off nearby devices"); + } + + Disbuff.pushSprite(0, 0); + checkAXPPress(); + M5.update(); + if (M5.BtnB.wasReleasefor(3000)) + { + Disbuff.fillRect(0, 0, 240, 135, TFT_ORANGE); + Disbuff.setCursor(12, 20); + Disbuff.setTextColor(TFT_BLACK); + Disbuff.printf("WebOTA\n start!!"); + Disbuff.pushSprite(0, 0); + for (int i = 4000; i > 1000; i -= 100) + { + M5.Beep.tone(i); + delay(30); + } + M5.Beep.mute(); + M5.update(); + start_WebOTA(); // WebOTA.ino + } + if (M5.BtnB.wasReleasefor(100)) + { + if (TestMode) + { + Disbuff.fillRect(0, 0, 240, 135, TFT_RED); + } + else + { + Disbuff.fillRect(0, 0, 240, 135, TFT_GREENYELLOW); + } + Disbuff.setCursor(12, 20); + Disbuff.setTextColor(TFT_BLACK); + Disbuff.printf("Send\n Shutdown\n Signal!!"); + Disbuff.pushSprite(0, 0); + for (int i = 2000; i < 4000; i += 100) + { + M5.Beep.tone(i); + delay(30); + } + M5.Beep.mute(); + + uint8_t data[50]; + if (TestMode) { + sprintf((char*)data, "ESPNOW__WEBOTA"); //送信する文字列 + } else { + sprintf((char*)data, "ESPNOW__SHUTDOWN"); + } + esp_err_t result = esp_now_send(peerInfo.peer_addr, data, sizeof(data)); + Serial.print("Send Status: "); + if (result == ESP_OK) + { + Serial.println("Success"); + } + else if (result == ESP_ERR_ESPNOW_NOT_INIT) + { + Serial.println("ESPNOW not Init."); + } + else if (result == ESP_ERR_ESPNOW_ARG) + { + Serial.println("Invalid Argument"); + } + else if (result == ESP_ERR_ESPNOW_INTERNAL) + { + Serial.println("Internal Error"); + } + else if (result == ESP_ERR_ESPNOW_NO_MEM) + { + Serial.println("ESP_ERR_ESPNOW_NO_MEM"); + } + else if (result == ESP_ERR_ESPNOW_NOT_FOUND) + { + Serial.println("Peer not found."); + } + else + { + Serial.println("Not sure what happened"); + } + delay(500); + } + if (M5.BtnA.isPressed()) + break; + delay(100); + } + while ((M5.BtnA.isPressed()) /*|| (M5.BtnB.isPressed())*/) + { + M5.update(); + checkAXPPress(); + M5.Beep.tone(4000); + delay(10); + } + delay(50); + M5.Beep.mute(); + Disbuff.setTextColor(TFT_WHITE); +} + +void ColorBar() // 起動直後のカラーバー表示 +{ + float color_r, color_g, color_b; + + color_r = 0; + color_g = 0; + color_b = 255; + + for (int i = 0; i < 384; i = i + 4) + { + if (i < 128) + { + color_r = i * 2; + color_g = 0; + color_b = 255 - (i * 2); + } + else if ((i >= 128) && (i < 256)) + { + color_r = 255 - ((i - 128) * 2); + color_g = (i - 128) * 2; + color_b = 0; + } + else if ((i >= 256) && (i < 384)) + { + color_r = 0; + color_g = 255 - ((i - 256) * 2); + ; + color_b = (i - 256) * 2; + ; + } + Disbuff.fillRect(0, 0, 240, 135, Disbuff.color565(color_r, color_g, color_b)); + Displaybuff(); + } + + for (int i = 0; i < 4; i++) + { + switch (i) + { + case 0: + color_r = 0; + color_g = 0; + color_b = 0; + break; + case 1: + color_r = 255; + color_g = 0; + color_b = 0; + break; + case 2: + color_r = 0; + color_g = 255; + color_b = 0; + break; + case 3: + color_r = 0; + color_g = 0; + color_b = 255; + break; + } + for (int n = 0; n < 240; n++) + { + color_r = (color_r < 255) ? color_r + 1.0625 : 255U; + color_g = (color_g < 255) ? color_g + 1.0625 : 255U; + color_b = (color_b < 255) ? color_b + 1.0625 : 255U; + Disbuff.drawLine(n, i * 33.75, n, (i + 1) * 33.75, Disbuff.color565(color_r, color_g, color_b)); + } + } + Displaybuff(); + delay(500); + + for (int i = 0; i < 4; i++) + { + switch (i) + { + case 0: + color_r = 255; + color_g = 255; + color_b = 255; + break; + case 1: + color_r = 255; + color_g = 0; + color_b = 0; + break; + case 2: + color_r = 0; + color_g = 255; + color_b = 0; + break; + case 3: + color_r = 0; + color_g = 0; + color_b = 255; + break; + } + for (int n = 0; n < 240; n++) + { + color_r = (color_r > 2) ? color_r - 1.0625 : 0U; + color_g = (color_g > 2) ? color_g - 1.0625 : 0U; + color_b = (color_b > 2) ? color_b - 1.0625 : 0U; + Disbuff.drawLine(239 - n, i * 33.75, 239 - n, (i + 1) * 33.75, Disbuff.color565(color_r, color_g, color_b)); + } + } + Displaybuff(); + delay(500); +} + +uint8_t addrcheckbuff[3] = { + 0x34, // + 0x51, // + 0x68 // +}; + +int checkI2CAddr() // I2C 通信のテスト +{ + uint8_t faild_count = 0; + + do + { + faild_count = 0; + for (int i = 0; i < sizeof(addrcheckbuff); i++) + { + Wire1.beginTransmission(addrcheckbuff[i]); + if (Wire1.endTransmission() == ESP_OK) + { + Serial.printf("find %02X addr successful\r\n", addrcheckbuff[i]); + } + else + { + Serial.printf("find %02X addr faild\r\n", addrcheckbuff[i]); + char strbuff[128]; + sprintf(strbuff, "i2c %02X fail", addrcheckbuff[i]); + ErrorDialog(addrcheckbuff[i], (const char *)strbuff); + faild_count++; + } + } + } while (faild_count != 0); + + return 0; +} + +void setup() +{ + M5.begin(); + + Wire.begin(32, 33); // GROOVE端子のI2C通信 + + M5.Display.setRotation(3); // 画面向きは横 + + Disbuff.createSprite(240, 135); + Disbuff.fillRect(0, 0, 240, 135, Disbuff.color565(10, 10, 10)); + Disbuff.pushSprite(0, 0); + delay(500); + + M5.update(); + if (M5.BtnB.isPressed()) // Bボタンを押して起動したら、テストモード + { + M5.Beep.tone(4000); + delay(100); + M5.Beep.mute(); + TestMode = true; + + while (M5.BtnB.isPressed()) + { + M5.update(); + delay(10); + } + } + M5.Axp.ScreenBreath(41); // 画面明るさ調整  8〜15 + + battery.setSprite(&Disbuff); // バッテリー残量表示 + battery.setPosAndSize(160, 1, 1); + battery.setCheckRate(300); + // // deleteBattery()時の塗りつぶし色を設定 + // battery.setDeleteBgColor(TFT_BLACK); + // 電池図形と%表示の色を設定 + // battery.setTextColor(TFT_WHITE); + + Init_ESPNOW(); // ESPNOWの初期化 + +if (!TestMode) ColorBar(); // ディスプレイ発色チェック + + checkI2CAddr(); + checkAXP192(); // バッテリー電圧チェック。低下してたらエラーメッセージ表示 + + M5.Imu.init(); // 加速度・角速度(ジャイロ)初期化 + InitI2SMicroPhone(); // マイク初期化 +#ifdef ENABLE_IRSEND + InitIRTx(); // 赤外線通信 初期化 +#endif +#ifdef ENABLE_BLE + InitBLEServer(); // Bluetooth Low Energyサーバ初期化 +#endif + + pinMode(10, OUTPUT); // LEDのポートを出力に設定 + timerSemaphore = xSemaphoreCreateBinary(); // バイナリセマフォ作成 + timer = timerBegin(0, 80, true); // タイマーID=0, 80クロックで1カウントする, カウントアップならtrue + timerAttachInterrupt(timer, &onTimer, true); // 割り込み関数onTimer()を登録 + timerAlarmWrite(timer, 30000, true); // トリガー条件。50000カウントで発動。trueは繰り返し実行(falseにすると1回のみ) + timerAlarmEnable(timer); + + xSemaphore = xSemaphoreCreateMutex(); // ミューテックス排他制御 + start_dis = xSemaphoreCreateMutex(); + start_fft = xSemaphoreCreateMutex(); + + xSemaphoreTake(start_dis, portMAX_DELAY); // フーリエ変換のときの画面表示タスクを「待ち」状態にする + xSemaphoreTake(start_fft, portMAX_DELAY); // FFTタスクを「待ち」状態にする + + xTaskCreate(Drawdisplay, "Drawdisplay", 1024 * 2, (void *)0, 4, &xhandle_display); + xTaskCreate(MicRecordfft, "MicRecordfft", 1024 * 2, (void *)0, 5, &xhandle_fft); + + Disbuff.pushSprite(0, 0); +} +bool beepstate = false; + +void loop() +{ + // それぞれのテスト中は、関数のなかのループがまわる + // A(orB)ボタンを押したら、現在実行中の関数のループを抜け、次の関数を実行する + MPU6886Test(); // 加速度・ジャイロ + DisplayRTC(); // リアルタイムクロック + DisplayMicro(); // マイク +#ifdef ENABLE_IRSEND + DisIRSend(); // 赤外線通信 +#endif + + // DisplayTestMode(); // バッテリー電圧 + +#ifdef ENABLE_BLE + DisPlayBLESend(); +#endif + ESP_NOW_SendShutdown(); // シャットダウン信号の送信 + + M5.update(); + delay(50); + Serial.println("end of loop"); +} + +#ifdef ENABLE_OTA +const char *ssid = "ics-ap"; +const char *password = "jikkenics"; +void OTA_Setup() +{ + WiFi.softAPdisconnect(true); + delay(1000); + WiFi.mode(WIFI_STA); + delay(1000); + + WiFi.begin(ssid, password); + int trycount = 0; + while ((WiFi.status() != WL_CONNECTED)) + { + M5.Beep.tone(2000); + delay(200); + M5.Beep.mute(); + delay(300); + M5.Display.print("."); + trycount++; + if (trycount == 100) + { + M5.Axp.Write1Byte(0x32, M5.Axp.Read8bit(0x32) | 0x80); // 電源OFF + } + } + M5.Display.fillScreen(GREEN); + M5.Display.setCursor(10, 50); + M5.Display.setTextColor(BLACK, GREEN); + M5.Display.println(" CONNECTED! "); + M5.Beep.tone(4000); + delay(1000); + M5.Beep.mute(); + + // Port defaults to 3232 + ArduinoOTA.setPort(3232); + // Hostname defaults to esp3232-[MAC] + ArduinoOTA.setHostname("m5"); + // No authentication by default + // ArduinoOTA.setPassword(""); + // Password can be set with it's md5 value as well + // MD5(admin) = 21232f297a57a5a743894a0e4a801fc3 + // ArduinoOTA.setPasswordHash("2bf9b9f1272b09206f050251343dcfcc"); // + ArduinoOTA + .onStart([]() + { + String type; + if (ArduinoOTA.getCommand() == U_FLASH) + type = "sketch"; + else // U_SPIFFS + type = "filesystem"; }) + .onEnd([]() + { + M5.Beep.tone(2000); + delay(150); + M5.Beep.tone(4000); + delay(150); + M5.Beep.tone(8000); + delay(300); + M5.Beep.mute(); }) + .onProgress([](unsigned int progress, unsigned int total) + { ota_progress(progress, total); }) + .onError([](ota_error_t error) {}); + // Serial.printf("Error[%u]: ", error); + // if (error == OTA_AUTH_ERROR) Serial.println("Auth Failed"); + // else if (error == OTA_BEGIN_ERROR) Serial.println("Begin Failed"); + // else if (error == OTA_CONNECT_ERROR) Serial.println("Connect Failed"); + // else if (error == OTA_RECEIVE_ERROR) Serial.println("Receive Failed"); + // else if (error == OTA_END_ERROR) Serial.println("End Failed"); + + ArduinoOTA.begin(); +} + +int prev_progress = -1; +char buf[30]; +void ota_progress(unsigned int progress, unsigned int total) +{ + int cur_progress = (progress / (total / 100)); + sprintf(buf, "OTA %d%% done", cur_progress); + if (prev_progress < cur_progress) + { + M5.Display.setCursor(0, 30, 1); + M5.Display.fillScreen(BLACK); + M5.Display.setTextColor(WHITE, BLACK); + M5.Display.println(buf); + prev_progress = cur_progress; + } +} +#endif diff --git a/FactoryTest/Icon.c b/FactoryTest/Icon.c new file mode 100644 index 0000000..8ba2206 --- /dev/null +++ b/FactoryTest/Icon.c @@ -0,0 +1,1577 @@ +/*************************************************************************************/ +// +// 图像文件 +// 软件提供:哈迪斯2001(Hades2001) @2018/09/10 +// Mail: 1521377294@qq.com +// 名称: C:\Users\Administrator\Pictures\error_48.c +// 图像大小: 4608 b +// 图像模式: 彩色位图 16位真彩 RGB565 +// 图像水平像素 : 48 +// 图像垂直像素 : 48 +// 图像扫描模式 : 逐行式 +// 图像储存模式 : 高位在先 +// +/************************************************************************************/ +const unsigned char error_48[4608] = { + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x08 , 0x00 , 0x38 , 0x40 , 0x70 , 0x80 , 0x88 , 0x80 , 0x98 , 0xA0 , 0xB0 , 0xC0 , 0xC8 , 0xE0 , + 0xC8 , 0xE0 , 0xB0 , 0xC0 , 0x98 , 0xA0 , 0x88 , 0x80 , 0x70 , 0x80 , 0x38 , 0x40 , 0x08 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x28 , 0x20 , 0x60 , 0x60 , + 0x90 , 0xA0 , 0xD0 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD0 , 0xE0 , 0x90 , 0xA0 , + 0x60 , 0x60 , 0x28 , 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 , 0x10 , 0x00 , 0x70 , 0x80 , 0xD0 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD0 , 0xE0 , 0x70 , 0x80 , 0x10 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x58 , 0x60 , 0xB8 , 0xC0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xB8 , 0xC0 , 0x58 , 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 , 0x18 , 0x20 , 0x98 , 0xA0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0x98 , 0xA0 , 0x18 , 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 , + 0x38 , 0x40 , 0xC8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xC8 , 0xE0 , 0x38 , 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 , 0x58 , 0x60 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0x58 , 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 , 0x48 , 0x40 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0x48 , 0x40 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x28 , 0x20 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0x28 , 0x20 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x10 , 0x00 , 0xB8 , 0xC0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xB8 , 0xC0 , 0x10 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x90 , 0xA0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0x90 , 0xA0 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x58 , 0x60 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0x58 , 0x60 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x10 , 0x00 , 0xB8 , 0xC0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xB8 , 0xC0 , 0x10 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x70 , 0x80 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xC8 , 0xE0 , 0x78 , 0x80 , + 0xC0 , 0xC0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xA0 , 0xA0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0x70 , 0x80 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x28 , 0x20 , 0xD0 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xC0 , 0xE0 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x20 , 0x20 , 0xB0 , 0xC0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD0 , 0xE0 , 0x48 , 0x40 , + 0x00 , 0x00 , 0x30 , 0x20 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD0 , 0xE0 , 0x28 , 0x20 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x60 , 0x60 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xA0 , 0xA0 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x20 , 0x20 , 0xB0 , 0xC0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xC8 , 0xE0 , 0x40 , 0x40 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0xA0 , 0xA0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0x60 , 0x60 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x98 , 0xA0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0x48 , 0x40 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x20 , 0x20 , 0xB0 , 0xC0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xC8 , 0xE0 , 0x38 , 0x40 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x28 , 0x20 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0x98 , 0xA0 , 0x00 , 0x00 , + 0x08 , 0x00 , 0xD0 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD0 , 0xE0 , 0x40 , 0x40 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x20 , 0x20 , 0xB0 , 0xC0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xC0 , 0xC0 , 0x38 , 0x40 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x20 , 0x20 , 0xB0 , 0xC0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD0 , 0xE0 , 0x08 , 0x00 , + 0x40 , 0x40 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xC8 , 0xE0 , + 0x38 , 0x40 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x20 , 0x20 , 0xB0 , 0xC0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xC0 , 0xC0 , 0x30 , 0x20 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x20 , 0x20 , + 0xB0 , 0xC0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0x40 , 0x40 , + 0x70 , 0x80 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xC8 , 0xE0 , 0x38 , 0x40 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x20 , 0x20 , 0xB0 , 0xC0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xB8 , 0xC0 , 0x30 , 0x20 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x20 , 0x20 , 0xB0 , 0xC0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0x70 , 0x80 , + 0x88 , 0x80 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xC0 , 0xC0 , 0x30 , 0x20 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x20 , 0x20 , 0xB0 , 0xC0 , + 0xB0 , 0xC0 , 0x28 , 0x20 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x20 , 0x20 , 0xB0 , 0xC0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0x88 , 0x80 , + 0x98 , 0xA0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xC0 , 0xC0 , 0x30 , 0x20 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x20 , 0x20 , + 0x20 , 0x20 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x20 , 0x20 , 0xB0 , 0xC0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0x98 , 0xA0 , + 0xB0 , 0xC0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xB8 , 0xC0 , 0x28 , 0x20 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x20 , 0x20 , 0xB0 , 0xC0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xB0 , 0xC0 , + 0xC8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xB0 , 0xC0 , 0x20 , 0x20 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x20 , 0x20 , 0xB0 , 0xC0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xC8 , 0xE0 , + 0xC8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xB0 , 0xC0 , 0x20 , 0x20 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x20 , 0x20 , 0xB0 , 0xC0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xC8 , 0xE0 , + 0xB0 , 0xC0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xB0 , 0xC0 , 0x20 , 0x20 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x28 , 0x20 , 0xB8 , 0xC0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xB0 , 0xC0 , + 0x98 , 0xA0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xB0 , 0xC0 , 0x20 , 0x20 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x20 , 0x20 , + 0x20 , 0x20 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x30 , 0x20 , 0xC0 , 0xC0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0x98 , 0xA0 , + 0x88 , 0x80 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xB0 , 0xC0 , 0x20 , 0x20 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x28 , 0x20 , 0xB0 , 0xC0 , + 0xB0 , 0xC0 , 0x28 , 0x20 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x30 , 0x20 , 0xC0 , 0xC0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0x88 , 0x80 , + 0x70 , 0x80 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xB0 , 0xC0 , 0x20 , 0x20 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x30 , 0x20 , 0xB8 , 0xC0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xB8 , 0xC0 , 0x30 , 0x20 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x38 , 0x40 , 0xC8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0x70 , 0x80 , + 0x38 , 0x40 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xB0 , 0xC0 , + 0x20 , 0x20 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x30 , 0x20 , 0xC0 , 0xC0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xC0 , 0xC0 , 0x30 , 0x20 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x38 , 0x40 , + 0xC8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0x38 , 0x40 , + 0x08 , 0x00 , 0xD0 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xB0 , 0xC0 , 0x20 , 0x20 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x38 , 0x40 , 0xC0 , 0xC0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xC0 , 0xC0 , 0x38 , 0x40 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x40 , 0x40 , 0xD0 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD0 , 0xE0 , 0x08 , 0x00 , + 0x00 , 0x00 , 0x90 , 0xA0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0x28 , 0x20 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x38 , 0x40 , 0xC8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xC8 , 0xE0 , 0x38 , 0x40 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x48 , 0x40 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0x90 , 0xA0 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x60 , 0x60 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xA0 , 0xA0 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x40 , 0x40 , 0xC8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xC8 , 0xE0 , 0x40 , 0x40 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0xA0 , 0xA0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0x60 , 0x60 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x28 , 0x20 , 0xD0 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0x30 , 0x20 , 0x00 , 0x00 , + 0x48 , 0x40 , 0xD0 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD0 , 0xE0 , 0x48 , 0x40 , + 0x00 , 0x00 , 0x30 , 0x20 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD0 , 0xE0 , 0x28 , 0x20 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x70 , 0x80 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xA0 , 0xA0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xA0 , 0xA0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0x70 , 0x80 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x10 , 0x00 , 0xB8 , 0xC0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xB8 , 0xC0 , 0x10 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x58 , 0x60 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0x58 , 0x60 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x98 , 0xA0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0x98 , 0xA0 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x18 , 0x20 , 0xC8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xC8 , 0xE0 , 0x18 , 0x20 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x38 , 0x40 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0x38 , 0x40 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x58 , 0x60 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0x58 , 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 , 0x48 , 0x40 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0x48 , 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 , + 0x28 , 0x20 , 0xB8 , 0xC0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xB8 , 0xC0 , 0x28 , 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 , 0x10 , 0x00 , 0x90 , 0xA0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0x90 , 0xA0 , 0x10 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x58 , 0x60 , 0xB8 , 0xC0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xB8 , 0xC0 , 0x58 , 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 , 0x10 , 0x00 , 0x70 , 0x80 , 0xD0 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD0 , 0xE0 , 0x70 , 0x80 , 0x10 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x28 , 0x20 , 0x60 , 0x60 , + 0x98 , 0xA0 , 0xD0 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , + 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD8 , 0xE0 , 0xD0 , 0xE0 , 0x98 , 0xA0 , + 0x60 , 0x60 , 0x28 , 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 , 0x08 , 0x00 , 0x40 , 0x40 , 0x70 , 0x80 , 0x88 , 0x80 , 0x98 , 0xA0 , 0xB0 , 0xC0 , 0xC8 , 0xE0 , + 0xC8 , 0xE0 , 0xB0 , 0xC0 , 0x98 , 0xA0 , 0x88 , 0x80 , 0x70 , 0x80 , 0x40 , 0x40 , 0x08 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + }; +/*************************************************************************************/ +// +// 图像文件 +// 软件提供:哈迪斯2001(Hades2001) @2018/09/10 +// Mail: 1521377294@qq.com +// 名称: C:\Users\Administrator\Pictures\IR.c +// 图像大小: 4608 b +// 图像模式: 彩色位图 16位真彩 RGB565 +// 图像水平像素 : 48 +// 图像垂直像素 : 48 +// 图像扫描模式 : 逐行式 +// 图像储存模式 : 高位在先 +// +/************************************************************************************/ +const unsigned char icon_ir[4608] = { + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x08 , 0x61 , 0x31 , 0xA6 , 0x52 , 0x8A , + 0x73 , 0x8E , 0x94 , 0x92 , 0x84 , 0x10 , 0x63 , 0x0C , 0x42 , 0x28 , 0x29 , 0x45 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x42 , 0x28 , 0x8C , 0x51 , 0x9C , 0xD3 , 0x9C , 0xD3 , + 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x63 , 0x2C , 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 , 0x7B , 0xEF , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , + 0x94 , 0xB2 , 0x7B , 0xCF , 0x8C , 0x51 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , + 0x39 , 0xE7 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x21 , 0x24 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x6B , 0x6D , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x5A , 0xEB , 0x18 , 0xE3 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x08 , 0x61 , 0x31 , 0x86 , 0x8C , 0x51 , 0x9C , 0xD3 , 0x9C , 0xD3 , + 0x9C , 0xD3 , 0x10 , 0xA2 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x5A , 0xEB , 0x9C , 0xD3 , 0x4A , 0x49 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x29 , 0x65 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x29 , 0x65 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x63 , 0x2C , 0x9C , 0xD3 , + 0x9C , 0xD3 , 0x73 , 0xAE , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x5A , 0xEB , 0x9C , 0xD3 , 0x9C , 0xD3 , + 0x39 , 0xE7 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x08 , 0x41 , 0x7B , 0xEF , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x18 , 0xC3 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x6B , 0x4D , + 0x9C , 0xD3 , 0x9C , 0xD3 , 0x42 , 0x08 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x21 , 0x04 , 0x8C , 0x71 , 0x9C , 0xD3 , + 0x9C , 0xD3 , 0x31 , 0x86 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x39 , 0xC7 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x52 , 0x8A , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x10 , 0xA2 , + 0x94 , 0x92 , 0x9C , 0xD3 , 0x84 , 0x10 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x31 , 0xA6 , 0x9C , 0xD3 , + 0x9C , 0xD3 , 0x94 , 0x92 , 0x21 , 0x24 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x5A , 0xCB , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x18 , 0xE3 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x5A , 0xEB , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x08 , 0x61 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x42 , 0x28 , + 0x9C , 0xD3 , 0x9C , 0xD3 , 0x84 , 0x30 , 0x18 , 0xC3 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x73 , 0xAE , 0x9C , 0xD3 , 0x94 , 0xB2 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x20 , 0x21 , 0x04 , 0x10 , 0x82 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x39 , 0xC7 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x29 , 0x45 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x5A , 0xCB , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x5A , 0xCB , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x94 , 0xB2 , 0x9C , 0xD3 , 0x7B , 0xEF , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x29 , 0x65 , + 0x84 , 0x30 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x73 , 0xAE , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x08 , 0x61 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x42 , 0x28 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x21 , 0x24 , 0x39 , 0xE7 , + 0x31 , 0x86 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x7B , 0xCF , 0x9C , 0xD3 , 0x94 , 0xB2 , 0x18 , 0xC3 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x9C , 0xD3 , 0x9C , 0xD3 , 0x73 , 0xAE , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x31 , 0xA6 , 0x9C , 0xD3 , + 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x5A , 0xCB , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x4A , 0x69 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x42 , 0x28 , 0x9C , 0xD3 , + 0x9C , 0xD3 , 0x31 , 0xA6 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x39 , 0xC7 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x52 , 0xAA , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x9C , 0xD3 , 0x9C , 0xD3 , 0x73 , 0xAE , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x4A , 0x69 , 0x9C , 0xD3 , + 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x10 , 0x82 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x4A , 0x69 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x31 , 0x86 , 0x9C , 0xD3 , + 0x9C , 0xD3 , 0x94 , 0x92 , 0x18 , 0xE3 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x73 , 0xAE , 0x9C , 0xD3 , 0x94 , 0x92 , 0x10 , 0x82 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x9C , 0xD3 , 0x9C , 0xD3 , 0x73 , 0xAE , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x4A , 0x69 , 0x9C , 0xD3 , + 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x21 , 0x04 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x4A , 0x69 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x5A , 0xEB , + 0x9C , 0xD3 , 0x9C , 0xD3 , 0x73 , 0xAE , 0x00 , 0x20 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x31 , 0xA6 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x4A , 0x69 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x9C , 0xD3 , 0x9C , 0xD3 , 0x73 , 0xAE , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x4A , 0x69 , 0x9C , 0xD3 , + 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x84 , 0x30 , 0x00 , 0x20 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x4A , 0x69 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x73 , 0x8E , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x4A , 0x69 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x6B , 0x6D , 0x9C , 0xD3 , 0x84 , 0x30 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x9C , 0xD3 , 0x9C , 0xD3 , 0x73 , 0xAE , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x5A , 0xEB , + 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x84 , 0x10 , 0x29 , 0x65 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x4A , 0x69 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x10 , 0xA2 , 0x8C , 0x51 , 0x9C , 0xD3 , 0x8C , 0x51 , 0x08 , 0x61 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x39 , 0xC7 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x29 , 0x65 , 0x00 , 0x00 , + 0x9C , 0xD3 , 0x9C , 0xD3 , 0x73 , 0xAE , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x29 , 0x45 , 0x42 , 0x28 , 0x31 , 0xA6 , 0x08 , 0x61 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x4A , 0x69 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x42 , 0x08 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x4A , 0x69 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x10 , 0x82 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x5A , 0xCB , 0x00 , 0x00 , + 0x9C , 0xD3 , 0x9C , 0xD3 , 0x73 , 0xAE , 0x00 , 0x00 , 0x00 , 0x00 , 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 , 0xD3 , 0x9C , 0xD3 , 0x4A , 0x69 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x80 , 0x61 , 0x58 , 0x41 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x73 , 0xAE , 0x9C , 0xD3 , 0x8C , 0x51 , 0x08 , 0x61 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x73 , 0xAE , 0x9C , 0xD3 , 0x84 , 0x30 , 0x00 , 0x00 , + 0x9C , 0xD3 , 0x9C , 0xD3 , 0x73 , 0xAE , 0x00 , 0x00 , 0x00 , 0x00 , 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 , 0xD3 , 0x9C , 0xD3 , 0x4A , 0x69 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x50 , 0x41 , + 0xE8 , 0xC3 , 0xE8 , 0xC3 , 0x70 , 0x61 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x29 , 0x65 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x39 , 0xC7 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x4A , 0x49 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x18 , 0xE3 , + 0x9C , 0xD3 , 0x9C , 0xD3 , 0x73 , 0xAE , 0x00 , 0x00 , 0x00 , 0x00 , 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 , 0xD3 , 0x9C , 0xD3 , 0x4A , 0x69 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x10 , 0x00 , + 0xC8 , 0xA2 , 0xE8 , 0xC3 , 0xE8 , 0xC3 , 0x58 , 0x41 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x8C , 0x71 , 0x9C , 0xD3 , 0x6B , 0x4D , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x18 , 0xC3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x4A , 0x69 , + 0x9C , 0xD3 , 0x9C , 0xD3 , 0x73 , 0xAE , 0x00 , 0x00 , 0x00 , 0x00 , 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 , 0xD3 , 0x9C , 0xD3 , 0x4A , 0x69 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x50 , 0x41 , 0xE8 , 0xC3 , 0xE8 , 0xC3 , 0xA8 , 0xA2 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x63 , 0x2C , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x94 , 0x92 , 0x9C , 0xD3 , 0x5A , 0xEB , + 0x9C , 0xD3 , 0x9C , 0xD3 , 0x73 , 0xAE , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x10 , 0x82 , + 0x6B , 0x4D , 0x94 , 0x92 , 0x7B , 0xEF , 0x52 , 0xAA , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x4A , 0x69 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x80 , 0x61 , 0xE8 , 0xC3 , 0xE8 , 0xC3 , 0x38 , 0x20 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x31 , 0xA6 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x29 , 0x45 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x84 , 0x30 , 0x9C , 0xD3 , 0x6B , 0x4D , + 0x9C , 0xD3 , 0x9C , 0xD3 , 0x73 , 0xAE , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x10 , 0x82 , 0x9C , 0xD3 , + 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x42 , 0x08 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x4A , 0x69 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x28 , 0x20 , 0xE8 , 0xC3 , 0xE8 , 0xC3 , 0x88 , 0x82 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x18 , 0xE3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x31 , 0xA6 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x73 , 0xAE , 0x9C , 0xD3 , 0x7B , 0xCF , + 0x9C , 0xD3 , 0x9C , 0xD3 , 0x73 , 0xAE , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x4A , 0x69 , 0x9C , 0xD3 , + 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x08 , 0x61 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x4A , 0x69 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0xE0 , 0xC3 , 0xE8 , 0xC3 , 0xB8 , 0xA2 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x10 , 0x82 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x39 , 0xE7 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x63 , 0x2C , 0x9C , 0xD3 , 0x84 , 0x30 , + 0x9C , 0xD3 , 0x9C , 0xD3 , 0x73 , 0xAE , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x4A , 0x69 , 0x9C , 0xD3 , + 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x21 , 0x24 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x4A , 0x69 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0xC0 , 0xA2 , 0xE8 , 0xC3 , 0xD8 , 0xC3 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x20 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x4A , 0x49 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x52 , 0xAA , 0x9C , 0xD3 , 0x94 , 0xB2 , + 0x9C , 0xD3 , 0x9C , 0xD3 , 0x73 , 0xAE , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x4A , 0x69 , 0x9C , 0xD3 , + 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x08 , 0x61 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x4A , 0x69 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0xC0 , 0xA2 , 0xE8 , 0xC3 , 0xD8 , 0xC3 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x20 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x4A , 0x49 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x52 , 0xAA , 0x9C , 0xD3 , 0x94 , 0xB2 , + 0x9C , 0xD3 , 0x9C , 0xD3 , 0x73 , 0xAE , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x08 , 0x61 , 0x7B , 0xEF , + 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x42 , 0x08 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x4A , 0x69 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0xE0 , 0xC3 , 0xE8 , 0xC3 , 0xB8 , 0xA2 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x10 , 0x82 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x39 , 0xE7 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x63 , 0x2C , 0x9C , 0xD3 , 0x84 , 0x30 , + 0x9C , 0xD3 , 0x9C , 0xD3 , 0x73 , 0xAE , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x20 , + 0x4A , 0x69 , 0x6B , 0x6D , 0x5A , 0xCB , 0x29 , 0x45 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x4A , 0x69 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x28 , 0x20 , 0xE8 , 0xC3 , 0xE8 , 0xC3 , 0x90 , 0x82 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x18 , 0xE3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x31 , 0xA6 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x73 , 0x8E , 0x9C , 0xD3 , 0x7B , 0xCF , + 0x9C , 0xD3 , 0x9C , 0xD3 , 0x73 , 0xAE , 0x00 , 0x00 , 0x00 , 0x00 , 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 , 0xD3 , 0x9C , 0xD3 , 0x4A , 0x69 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x80 , 0x61 , 0xE8 , 0xC3 , 0xE8 , 0xC3 , 0x38 , 0x20 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x21 , 0x24 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x29 , 0x65 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x84 , 0x10 , 0x9C , 0xD3 , 0x6B , 0x6D , + 0x9C , 0xD3 , 0x9C , 0xD3 , 0x73 , 0xAE , 0x00 , 0x00 , 0x00 , 0x00 , 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 , 0xD3 , 0x9C , 0xD3 , 0x4A , 0x69 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x50 , 0x41 , 0xE8 , 0xC3 , 0xE8 , 0xC3 , 0xA8 , 0xA2 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x52 , 0x8A , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x08 , 0x61 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x94 , 0x92 , 0x9C , 0xD3 , 0x5A , 0xEB , + 0x9C , 0xD3 , 0x9C , 0xD3 , 0x73 , 0xAE , 0x00 , 0x00 , 0x00 , 0x00 , 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 , 0xD3 , 0x9C , 0xD3 , 0x4A , 0x69 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x10 , 0x00 , + 0xC8 , 0xA2 , 0xE8 , 0xC3 , 0xE8 , 0xC3 , 0x58 , 0x41 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x7B , 0xEF , 0x9C , 0xD3 , 0x6B , 0x6D , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x08 , 0x41 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x52 , 0x8A , + 0x9C , 0xD3 , 0x9C , 0xD3 , 0x73 , 0xAE , 0x00 , 0x00 , 0x00 , 0x00 , 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 , 0xD3 , 0x9C , 0xD3 , 0x4A , 0x69 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x70 , 0x61 , + 0xE8 , 0xC3 , 0xE8 , 0xC3 , 0x88 , 0x82 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x21 , 0x04 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x39 , 0xE7 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x31 , 0xA6 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x21 , 0x24 , + 0x9C , 0xD3 , 0x9C , 0xD3 , 0x73 , 0xAE , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x4A , 0x69 , 0x6B , 0x6D , 0x5A , 0xCB , 0x31 , 0xA6 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x4A , 0x69 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x90 , 0x82 , 0x88 , 0x82 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x63 , 0x2C , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x10 , 0xA2 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x63 , 0x2C , 0x9C , 0xD3 , 0x8C , 0x71 , 0x00 , 0x00 , + 0x9C , 0xD3 , 0x9C , 0xD3 , 0x73 , 0xAE , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x9C , 0xD3 , + 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x29 , 0x65 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x4A , 0x69 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x31 , 0x86 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x5A , 0xEB , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x20 , 0x94 , 0x92 , 0x9C , 0xD3 , 0x5A , 0xCB , 0x00 , 0x00 , + 0x9C , 0xD3 , 0x9C , 0xD3 , 0x73 , 0xAE , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x4A , 0x69 , 0x9C , 0xD3 , + 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x84 , 0x30 , 0x00 , 0x20 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x4A , 0x69 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x7B , 0xCF , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x18 , 0xE3 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x29 , 0x65 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x31 , 0x86 , 0x00 , 0x00 , + 0x9C , 0xD3 , 0x9C , 0xD3 , 0x73 , 0xAE , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x4A , 0x69 , 0x9C , 0xD3 , + 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x21 , 0x04 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x4A , 0x69 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x5A , 0xCB , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x5A , 0xEB , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x5A , 0xEB , 0x9C , 0xD3 , 0x8C , 0x71 , 0x00 , 0x20 , 0x00 , 0x00 , + 0x9C , 0xD3 , 0x9C , 0xD3 , 0x73 , 0xAE , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x4A , 0x69 , 0x9C , 0xD3 , + 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x10 , 0x82 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x4A , 0x69 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x42 , 0x28 , + 0x9C , 0xD3 , 0x9C , 0xD3 , 0x8C , 0x51 , 0x18 , 0xC3 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x21 , 0x04 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x5A , 0xEB , 0x00 , 0x00 , 0x00 , 0x00 , + 0x9C , 0xD3 , 0x9C , 0xD3 , 0x73 , 0xAE , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x21 , 0x24 , 0x9C , 0xD3 , + 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x5A , 0xCB , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x4A , 0x69 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x29 , 0x65 , 0x9C , 0xD3 , + 0x9C , 0xD3 , 0x9C , 0xD3 , 0x29 , 0x65 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x63 , 0x2C , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x18 , 0xE3 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x9C , 0xD3 , 0x9C , 0xD3 , 0x73 , 0xAE , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x21 , 0x24 , + 0x6B , 0x4D , 0x94 , 0x92 , 0x7B , 0xEF , 0x4A , 0x49 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x4A , 0x69 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x4A , 0x69 , 0x9C , 0xD3 , + 0x9C , 0xD3 , 0x42 , 0x08 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x29 , 0x45 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x5A , 0xEB , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x94 , 0x92 , 0x9C , 0xD3 , 0x7B , 0xCF , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x08 , 0x41 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x42 , 0x28 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x10 , 0x82 , 0x63 , 0x0C , + 0x42 , 0x28 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x6B , 0x4D , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x18 , 0xE3 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x73 , 0x8E , 0x9C , 0xD3 , 0x94 , 0xB2 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x31 , 0x86 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x21 , 0x24 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x42 , 0x28 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x5A , 0xEB , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x52 , 0x8A , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x18 , 0xE3 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x5A , 0xCB , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x08 , 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 , 0x31 , 0x86 , + 0x9C , 0xD3 , 0x9C , 0xD3 , 0x8C , 0x51 , 0x18 , 0xC3 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x31 , 0xA6 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x5A , 0xEB , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x21 , 0x04 , + 0x94 , 0xB2 , 0x9C , 0xD3 , 0x7B , 0xEF , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x18 , 0xE3 , 0x8C , 0x51 , + 0x9C , 0xD3 , 0x9C , 0xD3 , 0x29 , 0x65 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x08 , 0x61 , 0x8C , 0x51 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x29 , 0x65 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x7B , 0xEF , + 0x9C , 0xD3 , 0x9C , 0xD3 , 0x4A , 0x49 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x08 , 0x41 , 0x7B , 0xCF , 0x9C , 0xD3 , + 0x9C , 0xD3 , 0x39 , 0xE7 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x42 , 0x28 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x18 , 0xC3 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x52 , 0xAA , 0x9C , 0xD3 , + 0x9C , 0xD3 , 0x84 , 0x10 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x5A , 0xEB , 0x9C , 0xD3 , 0x9C , 0xD3 , + 0x52 , 0x8A , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x7B , 0xEF , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x52 , 0x8A , 0x18 , 0xC3 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x20 , 0x29 , 0x65 , 0x7B , 0xEF , 0x9C , 0xD3 , 0x9C , 0xD3 , + 0x9C , 0xD3 , 0x21 , 0x04 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x5A , 0xEB , 0x9C , 0xD3 , 0x63 , 0x0C , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x6B , 0x6D , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , + 0x84 , 0x10 , 0x5A , 0xCB , 0x73 , 0x8E , 0x94 , 0x92 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , + 0x31 , 0xA6 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x4A , 0x69 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x29 , 0x65 , 0x7B , 0xEF , 0x9C , 0xD3 , 0x9C , 0xD3 , + 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x52 , 0xAA , 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 , 0x08 , 0x41 , 0x39 , 0xC7 , 0x5A , 0xCB , + 0x73 , 0xAE , 0x94 , 0xB2 , 0x84 , 0x30 , 0x63 , 0x2C , 0x4A , 0x49 , 0x29 , 0x45 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + }; + + /*************************************************************************************/ +// +// 图像文件 +// 软件提供:哈迪斯2001(Hades2001) @2018/09/10 +// Mail: 1521377294@qq.com +// 名称: C:\Users\Administrator\Pictures\ble.c +// 图像大小: 4608 b +// 图像模式: 彩色位图 16位真彩 RGB565 +// 图像水平像素 : 48 +// 图像垂直像素 : 48 +// 图像扫描模式 : 逐行式 +// 图像储存模式 : 高位在先 +// +/************************************************************************************/ +#ifdef ENABLE_BLE +const unsigned char icon_ble[4608] = { + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x01 , 0x26 , 0x0B , 0xB5 , 0x14 , 0x18 , 0x01 , 0x89 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x0B , 0xF6 , 0x14 , 0xBB , 0x14 , 0xBB , 0x14 , 0xBB , 0x01 , 0x89 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x14 , 0xBB , 0x14 , 0xBB , 0x14 , 0xBB , 0x14 , 0xBB , 0x14 , 0xBB , 0x01 , 0x89 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x14 , 0xBB , 0x14 , 0xBB , 0x14 , 0xBB , 0x14 , 0xBB , 0x14 , 0xBB , 0x14 , 0xBB , 0x01 , 0x89 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x14 , 0xBB , 0x14 , 0xBB , 0x14 , 0xBB , 0x14 , 0xBB , 0x14 , 0xBB , 0x14 , 0xBB , 0x14 , 0xBB , 0x01 , 0x89 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x14 , 0xBB , 0x14 , 0xBB , 0x14 , 0xBB , 0x0B , 0x11 , 0x14 , 0xBB , 0x14 , 0xBB , 0x14 , 0xBB , 0x14 , 0xBB , + 0x01 , 0x89 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x14 , 0xBB , 0x14 , 0xBB , 0x14 , 0xBB , 0x00 , 0x00 , 0x0A , 0xF1 , 0x14 , 0xBB , 0x14 , 0xBB , 0x14 , 0xBB , + 0x14 , 0xBB , 0x01 , 0x89 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x14 , 0xBB , 0x14 , 0xBB , 0x14 , 0xBB , 0x00 , 0x20 , 0x00 , 0x00 , 0x0A , 0xD0 , 0x14 , 0xBB , 0x14 , 0xBB , + 0x14 , 0xBB , 0x14 , 0xBB , 0x01 , 0x89 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x21 , 0x00 , 0x62 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x14 , 0xBB , 0x14 , 0xBB , 0x14 , 0xBB , 0x00 , 0x41 , 0x00 , 0x00 , 0x00 , 0x00 , 0x0A , 0xAF , 0x14 , 0xBB , + 0x14 , 0xBB , 0x14 , 0xBB , 0x14 , 0xBB , 0x01 , 0x89 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x01 , 0x47 , 0x14 , 0x79 , 0x14 , 0xBB , 0x0A , 0x6E , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x14 , 0xBB , 0x14 , 0xBB , 0x14 , 0xBB , 0x00 , 0x62 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x0A , 0x8F , + 0x14 , 0xBB , 0x14 , 0xBB , 0x14 , 0xBB , 0x14 , 0xBB , 0x00 , 0xC4 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x0A , 0xF1 , 0x14 , 0xBB , 0x14 , 0xBB , 0x14 , 0xBB , 0x0A , 0xAF , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x14 , 0xBB , 0x14 , 0xBB , 0x14 , 0xBB , 0x00 , 0x83 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x0A , 0x6E , 0x14 , 0xBB , 0x14 , 0xBB , 0x14 , 0xBB , 0x0A , 0xD0 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x0A , 0x0B , 0x14 , 0xBB , 0x14 , 0xBB , 0x14 , 0xBB , 0x14 , 0xBB , + 0x0A , 0xF1 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x14 , 0xBB , 0x14 , 0xBB , 0x14 , 0xBB , 0x00 , 0xC4 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0xC4 , + 0x0B , 0xF6 , 0x14 , 0xBB , 0x14 , 0xBB , 0x14 , 0xBB , 0x01 , 0x68 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x0A , 0xF0 , 0x14 , 0xBB , 0x14 , 0xBB , 0x14 , 0xBB , + 0x14 , 0xBB , 0x0B , 0x53 , 0x00 , 0x41 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x14 , 0xBB , 0x14 , 0xBB , 0x14 , 0xBB , 0x00 , 0xE5 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0xC4 , 0x0B , 0xF6 , + 0x14 , 0xBB , 0x14 , 0xBB , 0x14 , 0xBB , 0x0A , 0x6E , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x0A , 0x8E , 0x14 , 0xBB , 0x14 , 0xBB , + 0x14 , 0xBB , 0x14 , 0xBB , 0x0B , 0xD6 , 0x00 , 0x83 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x14 , 0xBB , 0x14 , 0xBB , 0x14 , 0xBB , 0x01 , 0x05 , 0x00 , 0x00 , 0x00 , 0xC4 , 0x0B , 0xF6 , 0x14 , 0xBB , + 0x14 , 0xBB , 0x14 , 0xBB , 0x0A , 0x6E , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x0A , 0x2C , 0x14 , 0xBB , + 0x14 , 0xBB , 0x14 , 0xBB , 0x14 , 0xBB , 0x14 , 0x59 , 0x00 , 0xC4 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x14 , 0xBB , 0x14 , 0xBB , 0x14 , 0xBB , 0x01 , 0x06 , 0x00 , 0xC4 , 0x0B , 0xF6 , 0x14 , 0xBB , 0x14 , 0xBB , + 0x14 , 0xBB , 0x0A , 0x8F , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x01 , 0xCA , + 0x14 , 0xBB , 0x14 , 0xBB , 0x14 , 0xBB , 0x14 , 0xBB , 0x14 , 0xBB , 0x01 , 0x06 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x14 , 0xBB , 0x14 , 0xBB , 0x14 , 0xBB , 0x01 , 0x26 , 0x0B , 0xF6 , 0x14 , 0xBB , 0x14 , 0xBB , 0x14 , 0xBB , + 0x0A , 0xAF , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x01 , 0x47 , 0x14 , 0x79 , 0x14 , 0xBB , 0x14 , 0xBB , 0x14 , 0xBB , 0x14 , 0xBB , 0x01 , 0x89 , 0x00 , 0x00 , + 0x14 , 0xBB , 0x14 , 0xBB , 0x14 , 0xBB , 0x0B , 0xF6 , 0x14 , 0xBB , 0x14 , 0xBB , 0x14 , 0xBB , 0x0A , 0xD0 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 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 , 0x0B , 0xF7 , 0x14 , 0xBB , 0x14 , 0xBB , 0x14 , 0xBB , 0x14 , 0xBB , 0x0A , 0x0C , + 0x14 , 0xBB , 0x14 , 0xBB , 0x14 , 0xBB , 0x14 , 0xBB , 0x14 , 0xBB , 0x14 , 0xBB , 0x0A , 0xD0 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 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 , 0x0B , 0x95 , 0x14 , 0xBB , 0x14 , 0xBB , 0x14 , 0xBB , 0x14 , 0xBB , + 0x14 , 0xBB , 0x14 , 0xBB , 0x14 , 0xBB , 0x14 , 0xBB , 0x14 , 0xBB , 0x0A , 0xF1 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x0B , 0x32 , 0x14 , 0xBB , 0x14 , 0xBB , 0x14 , 0xBB , + 0x14 , 0xBB , 0x14 , 0xBB , 0x14 , 0xBB , 0x14 , 0xBB , 0x0B , 0x11 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x0A , 0xD0 , 0x14 , 0xBB , 0x14 , 0xBB , + 0x14 , 0xBB , 0x14 , 0xBB , 0x14 , 0xBB , 0x0B , 0x12 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x0A , 0x4D , 0x14 , 0xBB , + 0x14 , 0xBB , 0x14 , 0xBB , 0x14 , 0xBB , 0x0B , 0x12 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x0A , 0x4D , 0x14 , 0xBB , 0x14 , 0xBB , + 0x14 , 0xBB , 0x14 , 0xBB , 0x14 , 0xBB , 0x14 , 0xBB , 0x0A , 0xF1 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x0A , 0x4D , 0x14 , 0xBB , 0x14 , 0xBB , 0x14 , 0xBB , + 0x14 , 0xBB , 0x14 , 0xBB , 0x14 , 0xBB , 0x14 , 0xBB , 0x14 , 0xBB , 0x0A , 0xB0 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x0A , 0x4D , 0x14 , 0xBB , 0x14 , 0xBB , 0x14 , 0xBB , 0x14 , 0xBB , + 0x14 , 0xBB , 0x14 , 0xBB , 0x14 , 0xBB , 0x14 , 0xBB , 0x14 , 0xBB , 0x14 , 0xBB , 0x0A , 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 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x0A , 0x4D , 0x14 , 0xBB , 0x14 , 0xBB , 0x14 , 0xBB , 0x14 , 0xBB , 0x01 , 0x89 , + 0x14 , 0xBB , 0x14 , 0xBB , 0x14 , 0xBB , 0x0B , 0xF6 , 0x14 , 0xBB , 0x14 , 0xBB , 0x14 , 0xBB , 0x0A , 0x6D , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x0A , 0x4D , 0x14 , 0xBB , 0x14 , 0xBB , 0x14 , 0xBB , 0x14 , 0xBB , 0x01 , 0x89 , 0x01 , 0x26 , + 0x14 , 0xBB , 0x14 , 0xBB , 0x14 , 0xBB , 0x01 , 0x26 , 0x0B , 0xF6 , 0x14 , 0xBB , 0x14 , 0xBB , 0x14 , 0xBB , + 0x0A , 0x2C , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x0A , 0x4D , 0x14 , 0xBB , 0x14 , 0xBB , 0x14 , 0xBB , 0x14 , 0xBB , 0x01 , 0x89 , 0x00 , 0x00 , 0x01 , 0x26 , + 0x14 , 0xBB , 0x14 , 0xBB , 0x14 , 0xBB , 0x01 , 0x26 , 0x00 , 0xC4 , 0x0B , 0xF6 , 0x14 , 0xBB , 0x14 , 0xBB , + 0x14 , 0xBB , 0x0A , 0x0B , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x0A , 0x4D , + 0x14 , 0xBB , 0x14 , 0xBB , 0x14 , 0xBB , 0x14 , 0xBB , 0x01 , 0x89 , 0x00 , 0x00 , 0x00 , 0x00 , 0x01 , 0x26 , + 0x14 , 0xBB , 0x14 , 0xBB , 0x14 , 0xBB , 0x01 , 0x26 , 0x00 , 0x00 , 0x00 , 0xC4 , 0x0B , 0xF6 , 0x14 , 0xBB , + 0x14 , 0xBB , 0x14 , 0xBB , 0x01 , 0xCA , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x0A , 0x4D , 0x14 , 0xBB , + 0x14 , 0xBB , 0x14 , 0xBB , 0x14 , 0xBB , 0x01 , 0x89 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x01 , 0x26 , + 0x14 , 0xBB , 0x14 , 0xBB , 0x14 , 0xBB , 0x01 , 0x26 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0xC4 , 0x0B , 0xF6 , + 0x14 , 0xBB , 0x14 , 0xBB , 0x14 , 0xBB , 0x01 , 0xA9 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x0A , 0x4D , 0x14 , 0xBB , 0x14 , 0xBB , + 0x14 , 0xBB , 0x14 , 0xBB , 0x01 , 0x89 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x01 , 0x26 , + 0x14 , 0xBB , 0x14 , 0xBB , 0x14 , 0xBB , 0x01 , 0x26 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0xC4 , + 0x0B , 0xF6 , 0x14 , 0xBB , 0x14 , 0xBB , 0x14 , 0x79 , 0x00 , 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 , 0x0A , 0x4D , 0x14 , 0xBB , 0x14 , 0xBB , 0x14 , 0xBB , + 0x14 , 0xBB , 0x01 , 0x89 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x01 , 0x26 , + 0x14 , 0xBB , 0x14 , 0xBB , 0x14 , 0xBB , 0x01 , 0x26 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x0A , 0x4D , 0x14 , 0xBB , 0x14 , 0xBB , 0x14 , 0xBB , 0x01 , 0xA9 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x14 , 0x18 , 0x14 , 0xBB , 0x14 , 0xBB , 0x14 , 0xBB , + 0x01 , 0x89 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x01 , 0x26 , + 0x14 , 0xBB , 0x14 , 0xBB , 0x14 , 0xBB , 0x01 , 0x26 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x0A , 0x2C , + 0x14 , 0xBB , 0x14 , 0xBB , 0x14 , 0xBB , 0x0B , 0xB5 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x0A , 0xF1 , 0x14 , 0xBB , 0x14 , 0xBB , 0x01 , 0x89 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x01 , 0x26 , + 0x14 , 0xBB , 0x14 , 0xBB , 0x14 , 0xBB , 0x01 , 0x26 , 0x00 , 0x00 , 0x00 , 0x00 , 0x01 , 0xEB , 0x14 , 0xBB , + 0x14 , 0xBB , 0x14 , 0xBB , 0x0B , 0xF6 , 0x00 , 0xC4 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x01 , 0xCA , 0x00 , 0xE5 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x01 , 0x26 , + 0x14 , 0xBB , 0x14 , 0xBB , 0x14 , 0xBB , 0x01 , 0x26 , 0x00 , 0x00 , 0x01 , 0xCA , 0x14 , 0xBB , 0x14 , 0xBB , + 0x14 , 0xBB , 0x0B , 0xF6 , 0x00 , 0xC4 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x01 , 0x26 , + 0x14 , 0xBB , 0x14 , 0xBB , 0x14 , 0xBB , 0x01 , 0x26 , 0x01 , 0xA9 , 0x14 , 0xBB , 0x14 , 0xBB , 0x14 , 0xBB , + 0x0B , 0xF6 , 0x00 , 0xC4 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x01 , 0x26 , + 0x14 , 0xBB , 0x14 , 0xBB , 0x14 , 0xBB , 0x01 , 0x89 , 0x14 , 0xBB , 0x14 , 0xBB , 0x14 , 0xBB , 0x0B , 0xF6 , + 0x00 , 0xC4 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x01 , 0x26 , + 0x14 , 0xBB , 0x14 , 0xBB , 0x14 , 0xBB , 0x14 , 0xBB , 0x14 , 0xBB , 0x14 , 0xBB , 0x0B , 0xF6 , 0x00 , 0xC4 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x01 , 0x26 , + 0x14 , 0xBB , 0x14 , 0xBB , 0x14 , 0xBB , 0x14 , 0xBB , 0x14 , 0xBB , 0x0B , 0xF6 , 0x00 , 0xC4 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x01 , 0x26 , + 0x14 , 0xBB , 0x14 , 0xBB , 0x14 , 0xBB , 0x14 , 0xBB , 0x0B , 0xF6 , 0x00 , 0xC4 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0xA3 , + 0x14 , 0xBB , 0x14 , 0xBB , 0x14 , 0xBB , 0x0B , 0xF6 , 0x00 , 0xC4 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x0A , 0x4D , 0x14 , 0xBB , 0x0B , 0x53 , 0x00 , 0xC4 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + }; + /*************************************************************************************/ +// +// 图像文件 +// 软件提供:哈迪斯2001(Hades2001) @2018/09/10 +// Mail: 1521377294@qq.com +// 名称: C:\Users\Administrator\Pictures\ble_disconnect.c +// 图像大小: 4608 b +// 图像模式: 彩色位图 16位真彩 RGB565 +// 图像水平像素 : 48 +// 图像垂直像素 : 48 +// 图像扫描模式 : 逐行式 +// 图像储存模式 : 高位在先 +// +/************************************************************************************/ +const unsigned char icon_ble_disconnect[4608] = { + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x21 , 0x24 , 0x7B , 0xCF , 0x8C , 0x51 , 0x31 , 0xA6 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 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 , 0x10 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x31 , 0xA6 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 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 , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x31 , 0xA6 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 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 , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x31 , 0xA6 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 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 , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x31 , 0xA6 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 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 , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x63 , 0x2C , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , + 0x31 , 0xA6 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 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 , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x00 , 0x00 , 0x63 , 0x0C , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , + 0x9C , 0xD3 , 0x31 , 0xA6 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 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 , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x00 , 0x20 , 0x00 , 0x00 , 0x5A , 0xEB , 0x9C , 0xD3 , 0x9C , 0xD3 , + 0x9C , 0xD3 , 0x9C , 0xD3 , 0x31 , 0xA6 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x08 , 0x41 , 0x08 , 0x61 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x08 , 0x41 , 0x00 , 0x00 , 0x00 , 0x00 , 0x5A , 0xCB , 0x9C , 0xD3 , + 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x31 , 0xA6 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x29 , 0x65 , 0x94 , 0x92 , 0x9C , 0xD3 , 0x52 , 0x8A , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x08 , 0x61 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x52 , 0xAA , + 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x18 , 0xC3 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x63 , 0x0C , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x5A , 0xCB , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x10 , 0x82 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x4A , 0x69 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x5A , 0xEB , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x42 , 0x08 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , + 0x63 , 0x0C , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x18 , 0xC3 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x18 , 0xC3 , + 0x84 , 0x10 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x29 , 0x65 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x63 , 0x0C , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , + 0x9C , 0xD3 , 0x6B , 0x6D , 0x08 , 0x41 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x18 , 0xE3 , 0x00 , 0x00 , 0x00 , 0x00 , 0x18 , 0xC3 , 0x84 , 0x10 , + 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x4A , 0x69 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x52 , 0x8A , 0x9C , 0xD3 , 0x9C , 0xD3 , + 0x9C , 0xD3 , 0x9C , 0xD3 , 0x7B , 0xEF , 0x10 , 0x82 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x21 , 0x04 , 0x00 , 0x00 , 0x18 , 0xC3 , 0x84 , 0x10 , 0x9C , 0xD3 , + 0x9C , 0xD3 , 0x9C , 0xD3 , 0x52 , 0x8A , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x42 , 0x28 , 0x9C , 0xD3 , + 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x8C , 0x71 , 0x18 , 0xC3 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x21 , 0x24 , 0x18 , 0xC3 , 0x84 , 0x10 , 0x9C , 0xD3 , 0x9C , 0xD3 , + 0x9C , 0xD3 , 0x52 , 0xAA , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x39 , 0xC7 , + 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x21 , 0x24 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x21 , 0x24 , 0x84 , 0x10 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , + 0x5A , 0xCB , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x29 , 0x65 , 0x94 , 0x92 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x31 , 0xA6 , 0x00 , 0x00 , + 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x84 , 0x10 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x5A , 0xCB , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x18 , 0xE3 , 0x84 , 0x10 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x42 , 0x28 , + 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x5A , 0xEB , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x10 , 0x82 , 0x73 , 0xAE , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , + 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x63 , 0x0C , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x6B , 0x4D , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , + 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x63 , 0x2C , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x5A , 0xCB , 0x9C , 0xD3 , 0x9C , 0xD3 , + 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x63 , 0x2C , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x4A , 0x69 , 0x9C , 0xD3 , + 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x63 , 0x2C , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x4A , 0x69 , 0x9C , 0xD3 , 0x9C , 0xD3 , + 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x63 , 0x0C , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x4A , 0x69 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , + 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x5A , 0xCB , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x4A , 0x69 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , + 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x52 , 0xAA , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x4A , 0x69 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x31 , 0xA6 , + 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x84 , 0x10 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x4A , 0x69 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x4A , 0x69 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x31 , 0xA6 , 0x21 , 0x24 , + 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x21 , 0x24 , 0x84 , 0x10 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , + 0x4A , 0x49 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x4A , 0x69 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x31 , 0xA6 , 0x00 , 0x00 , 0x21 , 0x24 , + 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x21 , 0x24 , 0x18 , 0xC3 , 0x84 , 0x10 , 0x9C , 0xD3 , 0x9C , 0xD3 , + 0x9C , 0xD3 , 0x42 , 0x08 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x4A , 0x69 , + 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x31 , 0xA6 , 0x00 , 0x00 , 0x00 , 0x00 , 0x21 , 0x24 , + 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x21 , 0x24 , 0x00 , 0x00 , 0x18 , 0xC3 , 0x84 , 0x10 , 0x9C , 0xD3 , + 0x9C , 0xD3 , 0x9C , 0xD3 , 0x39 , 0xE7 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x4A , 0x69 , 0x9C , 0xD3 , + 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x31 , 0xA6 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x21 , 0x24 , + 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x21 , 0x24 , 0x00 , 0x00 , 0x00 , 0x00 , 0x18 , 0xC3 , 0x84 , 0x10 , + 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x31 , 0xA6 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x4A , 0x69 , 0x9C , 0xD3 , 0x9C , 0xD3 , + 0x9C , 0xD3 , 0x9C , 0xD3 , 0x31 , 0xA6 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x21 , 0x24 , + 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x21 , 0x24 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x18 , 0xC3 , + 0x84 , 0x10 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x94 , 0x92 , 0x08 , 0x61 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x4A , 0x69 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , + 0x9C , 0xD3 , 0x31 , 0xA6 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x21 , 0x24 , + 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x21 , 0x24 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x4A , 0x69 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x31 , 0xA6 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x8C , 0x51 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , + 0x31 , 0xA6 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x21 , 0x24 , + 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x21 , 0x24 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x42 , 0x28 , + 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x7B , 0xCF , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x63 , 0x0C , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x31 , 0xA6 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x21 , 0x24 , + 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x21 , 0x24 , 0x00 , 0x00 , 0x00 , 0x00 , 0x42 , 0x08 , 0x9C , 0xD3 , + 0x9C , 0xD3 , 0x9C , 0xD3 , 0x84 , 0x10 , 0x18 , 0xC3 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x39 , 0xE7 , 0x18 , 0xE3 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x21 , 0x24 , + 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x21 , 0x24 , 0x00 , 0x00 , 0x39 , 0xE7 , 0x9C , 0xD3 , 0x9C , 0xD3 , + 0x9C , 0xD3 , 0x84 , 0x10 , 0x18 , 0xC3 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x21 , 0x24 , + 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x21 , 0x24 , 0x39 , 0xC7 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , + 0x84 , 0x10 , 0x18 , 0xC3 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x21 , 0x24 , + 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x31 , 0xA6 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x84 , 0x10 , + 0x18 , 0xC3 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x21 , 0x24 , + 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x84 , 0x10 , 0x18 , 0xC3 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x21 , 0x24 , + 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x84 , 0x10 , 0x18 , 0xC3 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x21 , 0x24 , + 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x84 , 0x10 , 0x18 , 0xC3 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x10 , 0xA2 , + 0x9C , 0xD3 , 0x9C , 0xD3 , 0x9C , 0xD3 , 0x84 , 0x10 , 0x18 , 0xC3 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x4A , 0x69 , 0x9C , 0xD3 , 0x6B , 0x6D , 0x18 , 0xC3 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + }; + #else + const unsigned char icon_ble[1] = {}; + const unsigned char icon_ble_disconnect[1] = {}; + #endif + /*************************************************************************************/ +// +// 图像文件 +// 软件提供:哈迪斯2001(Hades2001) @2018/09/10 +// Mail: 1521377294@qq.com +// 名称: C:\Users\Administrator\Pictures\wifi.c +// 图像大小: 4608 b +// 图像模式: 彩色位图 16位真彩 RGB565 +// 图像水平像素 : 48 +// 图像垂直像素 : 48 +// 图像扫描模式 : 逐行式 +// 图像储存模式 : 高位在先 +// +/************************************************************************************/ +const unsigned char icon_wifi[4608] = { + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x7B , 0xEF , 0xFF , 0xFF , 0xF7 , 0x9E , 0xDE , 0xFB , + 0xCE , 0x79 , 0xBD , 0xF7 , 0xB5 , 0x96 , 0xAD , 0x55 , 0x84 , 0x30 , 0x52 , 0x8A , 0x29 , 0x45 , 0x10 , 0xA2 , + 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 , 0x7B , 0xEF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , + 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xDE , 0xDB , 0x9C , 0xD3 , + 0x63 , 0x0C , 0x31 , 0x86 , 0x10 , 0xA2 , 0x08 , 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 , 0x7B , 0xCF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , + 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , + 0xF7 , 0xBE , 0xEF , 0x5D , 0xB5 , 0x96 , 0x6B , 0x6D , 0x18 , 0xE3 , 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 , 0x7B , 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 , 0xF7 , 0x9E , 0xBD , 0xD7 , 0x63 , 0x0C , 0x10 , 0xA2 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x7B , 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 , 0xFF , 0xEF , 0x5D , 0xAD , 0x55 , 0x4A , 0x69 , + 0x08 , 0x61 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x7B , 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 , 0xDE , 0xDB , + 0x9C , 0xF3 , 0x39 , 0xC7 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x6B , 0x6D , 0xC6 , 0x38 , 0xD6 , 0xBA , 0xE7 , 0x1C , + 0xF7 , 0x9E , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , + 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , + 0xFF , 0xFF , 0xC6 , 0x18 , 0x63 , 0x0C , 0x08 , 0x61 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x21 , 0x24 , 0x39 , 0xE7 , 0x42 , 0x28 , 0x52 , 0x8A , + 0x5A , 0xEB , 0x6B , 0x4D , 0x73 , 0x8E , 0x94 , 0x92 , 0xC6 , 0x18 , 0xF7 , 0x9E , 0xFF , 0xFF , 0xFF , 0xFF , + 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , + 0xFF , 0xFF , 0xFF , 0xFF , 0xE7 , 0x1C , 0x8C , 0x51 , 0x21 , 0x04 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x08 , 0x41 , 0x39 , 0xC7 , 0x6B , 0x6D , 0x9C , 0xF3 , 0xC6 , 0x38 , + 0xEF , 0x7D , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , + 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xDF , 0xA5 , 0x34 , 0x31 , 0xA6 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 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 , 0x39 , 0xC7 , + 0x73 , 0x8E , 0xC6 , 0x18 , 0xEF , 0x7D , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , + 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xBD , 0xD7 , 0x4A , 0x49 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x29 , 0x45 , 0x7B , 0xCF , 0xCE , 0x79 , 0xF7 , 0xBE , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , + 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xD6 , 0x9A , 0x4A , 0x69 , + 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 , 0x08 , 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 , 0x31 , 0xA6 , 0x8C , 0x51 , 0xDE , 0xDB , 0xFF , 0xFF , 0xFF , 0xFF , + 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xD6 , 0x9A , + 0x42 , 0x08 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x42 , 0x08 , 0x31 , 0xA6 , 0x21 , 0x04 , 0x18 , 0xC3 , + 0x10 , 0xA2 , 0x10 , 0x82 , 0x08 , 0x41 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x20 , 0x4A , 0x49 , 0xC6 , 0x38 , 0xFF , 0xFF , + 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , + 0xA5 , 0x14 , 0x21 , 0x24 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x73 , 0xAE , 0xEF , 0x7D , 0xEF , 0x5D , 0xE7 , 0x3C , + 0xCE , 0x79 , 0xB5 , 0xB6 , 0x84 , 0x10 , 0x42 , 0x28 , 0x18 , 0xC3 , 0x00 , 0x20 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x39 , 0xC7 , 0xBD , 0xD7 , + 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , + 0xFF , 0xDF , 0x94 , 0x92 , 0x10 , 0xA2 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x7B , 0xEF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , + 0xFF , 0xFF , 0xFF , 0xFF , 0xF7 , 0x9E , 0xE7 , 0x3C , 0xCE , 0x59 , 0x9C , 0xD3 , 0x5A , 0xEB , 0x18 , 0xC3 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x21 , 0x04 , + 0x94 , 0x92 , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , + 0xFF , 0xFF , 0xF7 , 0xBE , 0x7B , 0xEF , 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 , 0x7B , 0xCF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , + 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xDF , 0xE7 , 0x3C , 0xB5 , 0xB6 , + 0x5A , 0xCB , 0x10 , 0x82 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x10 , 0xA2 , 0x6B , 0x4D , 0xEF , 0x5D , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , + 0xFF , 0xFF , 0xFF , 0xFF , 0xE7 , 0x1C , 0x5A , 0xCB , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x7B , 0xCF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , + 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , + 0xDE , 0xFB , 0xA5 , 0x34 , 0x52 , 0x8A , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x20 , 0x63 , 0x2C , 0xF7 , 0xBE , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , + 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xC6 , 0x18 , 0x31 , 0xA6 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x7B , 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 , 0xD6 , 0xBA , 0x6B , 0x6D , 0x00 , 0x20 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x20 , 0x84 , 0x10 , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , + 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xDF , 0x94 , 0xB2 , 0x08 , 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 , 0x7B , 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 , 0xEF , 0x5D , 0x84 , 0x30 , 0x10 , 0x82 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x10 , 0x82 , 0xAD , 0x55 , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , + 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xDE , 0xDB , 0x42 , 0x08 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x6B , 0x6D , 0xCE , 0x79 , 0xDE , 0xFB , 0xEF , 0x7D , + 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , + 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0x94 , 0x92 , 0x21 , 0x04 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x29 , 0x45 , 0xC6 , 0x18 , 0xFF , 0xFF , 0xFF , 0xFF , + 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xF7 , 0xBE , 0xA5 , 0x14 , 0x08 , 0x61 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x31 , 0x86 , 0x42 , 0x08 , 0x5A , 0xEB , 0x73 , 0x8E , + 0x94 , 0x92 , 0xB5 , 0xB6 , 0xCE , 0x79 , 0xEF , 0x5D , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , + 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0x94 , 0xB2 , 0x10 , 0xA2 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x42 , 0x28 , 0xD6 , 0xBA , 0xFF , 0xFF , + 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xEF , 0x5D , 0x4A , 0x69 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x08 , 0x61 , 0x31 , 0xA6 , 0x73 , 0x8E , 0xBD , 0xD7 , 0xEF , 0x7D , 0xFF , 0xFF , 0xFF , 0xFF , + 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xF7 , 0x9E , 0x7B , 0xCF , + 0x08 , 0x41 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x84 , 0x30 , 0xF7 , 0xBE , + 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xDF , 0xAD , 0x55 , 0x10 , 0xA2 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x21 , 0x04 , 0x7B , 0xCF , 0xCE , 0x59 , 0xFF , 0xFF , + 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xDE , 0xDB , + 0x63 , 0x0C , 0x00 , 0x20 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x31 , 0x86 , 0xCE , 0x59 , + 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xEF , 0x7D , 0x5A , 0xCB , + 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 , 0x20 , 0x31 , 0xA6 , 0xB5 , 0x96 , + 0xFF , 0xDF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , + 0xD6 , 0xBA , 0x5A , 0xCB , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x6B , 0x6D , + 0xEF , 0x5D , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xA5 , 0x14 , + 0x10 , 0x82 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x21 , 0x24 , + 0x9C , 0xD3 , 0xFF , 0xDF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , + 0xFF , 0xFF , 0xBD , 0xF7 , 0x21 , 0x04 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x18 , 0xE3 , + 0xB5 , 0x96 , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xDE , 0xDB , + 0x21 , 0x04 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x18 , 0xC3 , 0x7B , 0xCF , 0xF7 , 0xBE , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , + 0xFF , 0xFF , 0xEF , 0x7D , 0x6B , 0x6D , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x5A , 0xCB , 0xDE , 0xDB , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xF7 , 0xBE , + 0x5A , 0xCB , 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 , 0x10 , 0xA2 , 0x9C , 0xD3 , 0xF7 , 0xBE , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , + 0xFF , 0xFF , 0xFF , 0xFF , 0xC6 , 0x38 , 0x29 , 0x45 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x21 , 0x24 , 0xBD , 0xD7 , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , + 0x94 , 0xB2 , 0x10 , 0xA2 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x29 , 0x65 , + 0x5A , 0xEB , 0x73 , 0xAE , 0x63 , 0x2C , 0x42 , 0x28 , 0x10 , 0x82 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x21 , 0x04 , 0xBD , 0xD7 , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , + 0xFF , 0xFF , 0xFF , 0xFF , 0xF7 , 0xBE , 0x73 , 0xAE , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x20 , 0x8C , 0x71 , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , + 0xD6 , 0x9A , 0x21 , 0x24 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x20 , 0x63 , 0x0C , 0xBD , 0xD7 , + 0xDE , 0xFB , 0xF7 , 0x9E , 0xE7 , 0x3C , 0xCE , 0x79 , 0x94 , 0xB2 , 0x29 , 0x65 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x63 , 0x0C , 0xEF , 0x7D , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , + 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xC6 , 0x18 , 0x10 , 0x82 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x63 , 0x2C , 0xF7 , 0x9E , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , + 0xF7 , 0xBE , 0x42 , 0x28 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x08 , 0x41 , 0x52 , 0xAA , 0xE7 , 0x1C , 0xFF , 0xFF , + 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0x94 , 0x92 , 0x10 , 0x82 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x18 , 0xC3 , 0xAD , 0x75 , 0xFF , 0xDF , 0xFF , 0xFF , 0xFF , 0xFF , + 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xE7 , 0x3C , 0x39 , 0xC7 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x42 , 0x08 , 0xCE , 0x59 , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , + 0xFF , 0xFF , 0x7B , 0xEF , 0x08 , 0x61 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x21 , 0x24 , 0xBD , 0xF7 , 0xFF , 0xFF , 0xFF , 0xFF , + 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xDE , 0xFB , 0x52 , 0x8A , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x52 , 0xAA , 0xDE , 0xFB , 0xFF , 0xFF , 0xFF , 0xFF , + 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xF7 , 0x9E , 0x73 , 0xAE , 0x08 , 0x41 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x10 , 0xA2 , 0x9C , 0xF3 , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , + 0xFF , 0xFF , 0xAD , 0x55 , 0x21 , 0x04 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x4A , 0x49 , 0xEF , 0x7D , 0xFF , 0xFF , 0xFF , 0xFF , + 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0x8C , 0x71 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x18 , 0xC3 , 0xBD , 0xD7 , 0xFF , 0xFF , 0xFF , 0xFF , + 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xDF , 0xAD , 0x75 , 0x10 , 0x82 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x7B , 0xCF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , + 0xFF , 0xFF , 0xBD , 0xF7 , 0x29 , 0x45 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x6B , 0x4D , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , + 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0x9C , 0xF3 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x9C , 0xD3 , 0xFF , 0xFF , 0xFF , 0xFF , + 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xDE , 0xFB , 0x18 , 0xE3 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x63 , 0x0C , 0xFF , 0xDF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , + 0xFF , 0xFF , 0xD6 , 0x9A , 0x31 , 0xA6 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x52 , 0x8A , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , + 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0x94 , 0x92 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x73 , 0x8E , 0xEF , 0x7D , 0xFF , 0xFF , + 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xEF , 0x7D , 0x31 , 0x86 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x4A , 0x69 , 0xDE , 0xFB , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , + 0xFF , 0xFF , 0xEF , 0x5D , 0x39 , 0xE7 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x29 , 0x65 , 0xC6 , 0x38 , 0xFF , 0xFF , 0xFF , 0xFF , + 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xEF , 0x5D , 0x63 , 0x2C , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x4A , 0x49 , 0xD6 , 0x9A , 0xFF , 0xFF , + 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xEF , 0x7D , 0x42 , 0x28 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x39 , 0xE7 , 0xC6 , 0x38 , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , + 0xFF , 0xFF , 0xFF , 0xFF , 0x4A , 0x49 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x20 , 0x5A , 0xEB , 0xFF , 0xDF , 0xFF , 0xFF , + 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xA5 , 0x14 , 0x08 , 0x61 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x29 , 0x45 , 0xBD , 0xF7 , 0xFF , 0xFF , + 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xF7 , 0xBE , 0x5A , 0xEB , 0x00 , 0x20 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x29 , 0x65 , 0xB5 , 0xB6 , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , + 0xFF , 0xFF , 0xFF , 0xFF , 0x4A , 0x69 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x08 , 0x41 , 0x5A , 0xCB , 0xC6 , 0x38 , + 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xF7 , 0x9E , 0x94 , 0xB2 , 0x21 , 0x24 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x10 , 0x82 , 0xB5 , 0x96 , 0xFF , 0xFF , + 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xDF , 0x73 , 0xAE , 0x08 , 0x41 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x18 , 0xE3 , 0xA5 , 0x14 , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , + 0xFF , 0xFF , 0xFF , 0xFF , 0x63 , 0x0C , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x29 , 0x65 , + 0x63 , 0x0C , 0x7B , 0xCF , 0x6B , 0x4D , 0x4A , 0x49 , 0x18 , 0xC3 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x20 , 0x52 , 0x8A , 0x7B , 0xEF , + 0x7B , 0xCF , 0x7B , 0xCF , 0x7B , 0xCF , 0x7B , 0xCF , 0x7B , 0xCF , 0x52 , 0xAA , 0x08 , 0x61 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x18 , 0xE3 , 0x63 , 0x0C , 0x7B , 0xCF , 0x7B , 0xCF , 0x7B , 0xCF , 0x7B , 0xCF , + 0x7B , 0xCF , 0x7B , 0xCF , 0x52 , 0x8A , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 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 unsigned char ImageData[768] = { + 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x01 , 0x00 , 0x00 , 0x04 , 0x00 , + 0x01 , 0x07 , 0x00 , 0x01 , 0x09 , 0x00 , 0x01 , 0x0D , 0x00 , 0x02 , 0x10 , 0x00 , 0x02 , 0x14 , 0x00 , 0x01 , + 0x17 , 0x00 , 0x02 , 0x1C , 0x00 , 0x02 , 0x20 , 0x00 , 0x02 , 0x24 , 0x00 , 0x03 , 0x28 , 0x00 , 0x03 , 0x2D , + 0x00 , 0x03 , 0x32 , 0x00 , 0x04 , 0x37 , 0x00 , 0x05 , 0x3C , 0x00 , 0x04 , 0x42 , 0x00 , 0x05 , 0x46 , 0x00 , + 0x05 , 0x4D , 0x00 , 0x06 , 0x51 , 0x00 , 0x06 , 0x57 , 0x00 , 0x06 , 0x5D , 0x00 , 0x07 , 0x62 , 0x00 , 0x07 , + 0x68 , 0x00 , 0x07 , 0x6E , 0x00 , 0x09 , 0x74 , 0x00 , 0x08 , 0x7A , 0x00 , 0x09 , 0x7F , 0x00 , 0x09 , 0x86 , + 0x00 , 0x0A , 0x8B , 0x00 , 0x0A , 0x91 , 0x00 , 0x0B , 0x97 , 0x00 , 0x0B , 0x9D , 0x00 , 0x0C , 0xA2 , 0x00 , + 0x0C , 0xA8 , 0x00 , 0x0C , 0xAD , 0x00 , 0x0D , 0xB2 , 0x00 , 0x0D , 0xB7 , 0x00 , 0x0E , 0xBC , 0x00 , 0x0E , + 0xC2 , 0x00 , 0x0E , 0xC7 , 0x00 , 0x0E , 0xCB , 0x00 , 0x0F , 0xD0 , 0x00 , 0x0F , 0xD5 , 0x00 , 0x10 , 0xD9 , + 0x00 , 0x0F , 0xDD , 0x00 , 0x10 , 0xE2 , 0x00 , 0x11 , 0xE5 , 0x00 , 0x11 , 0xE8 , 0x00 , 0x11 , 0xEC , 0x00 , + 0x11 , 0xEF , 0x00 , 0x11 , 0xF1 , 0x00 , 0x11 , 0xF5 , 0x00 , 0x11 , 0xF6 , 0x00 , 0x12 , 0xF9 , 0x00 , 0x11 , + 0xFA , 0x00 , 0x11 , 0xFC , 0x00 , 0x12 , 0xFD , 0x00 , 0x12 , 0xFE , 0x00 , 0x12 , 0xFF , 0x00 , 0x12 , 0xFF , + 0x01 , 0x12 , 0xFF , 0x04 , 0x12 , 0xFE , 0x06 , 0x12 , 0xFE , 0x09 , 0x11 , 0xFD , 0x0B , 0x11 , 0xFB , 0x0E , + 0x11 , 0xFB , 0x11 , 0x11 , 0xF8 , 0x14 , 0x10 , 0xF7 , 0x17 , 0x0F , 0xF5 , 0x1B , 0x0F , 0xF2 , 0x1E , 0x0E , + 0xEF , 0x22 , 0x0E , 0xED , 0x26 , 0x0D , 0xE9 , 0x29 , 0x0C , 0xE7 , 0x2D , 0x0B , 0xE3 , 0x32 , 0x0A , 0xE0 , + 0x36 , 0x09 , 0xDC , 0x3A , 0x08 , 0xD7 , 0x3F , 0x07 , 0xD4 , 0x44 , 0x07 , 0xCF , 0x48 , 0x06 , 0xCB , 0x4C , + 0x04 , 0xC6 , 0x51 , 0x04 , 0xC2 , 0x55 , 0x02 , 0xBD , 0x5A , 0x02 , 0xB8 , 0x5F , 0x01 , 0xB4 , 0x63 , 0x00 , + 0xAF , 0x68 , 0x00 , 0xAA , 0x6D , 0x00 , 0xA5 , 0x73 , 0x00 , 0xA0 , 0x78 , 0x00 , 0x9A , 0x7C , 0x00 , 0x95 , + 0x81 , 0x00 , 0x90 , 0x86 , 0x00 , 0x8A , 0x8B , 0x00 , 0x85 , 0x90 , 0x00 , 0x7E , 0x96 , 0x00 , 0x78 , 0x9B , + 0x00 , 0x73 , 0xA0 , 0x00 , 0x6E , 0xA5 , 0x00 , 0x68 , 0xA9 , 0x00 , 0x63 , 0xAF , 0x00 , 0x5D , 0xB3 , 0x00 , + 0x57 , 0xB8 , 0x00 , 0x53 , 0xBC , 0x00 , 0x4D , 0xC1 , 0x00 , 0x48 , 0xC5 , 0x00 , 0x43 , 0xCA , 0x00 , 0x3D , + 0xCE , 0x00 , 0x38 , 0xD3 , 0x00 , 0x33 , 0xD6 , 0x00 , 0x2F , 0xDA , 0x00 , 0x2B , 0xDE , 0x00 , 0x26 , 0xE2 , + 0x00 , 0x22 , 0xE6 , 0x00 , 0x1D , 0xE8 , 0x00 , 0x1A , 0xEC , 0x00 , 0x16 , 0xEF , 0x00 , 0x12 , 0xF2 , 0x00 , + 0x0E , 0xF5 , 0x00 , 0x0B , 0xF7 , 0x00 , 0x09 , 0xF9 , 0x00 , 0x06 , 0xFC , 0x00 , 0x04 , 0xFE , 0x00 , 0x01 , + 0xFF , 0x01 , 0x00 , 0xFF , 0x03 , 0x00 , 0xFF , 0x05 , 0x00 , 0xFF , 0x07 , 0x00 , 0xFF , 0x0A , 0x00 , 0xFF , + 0x0D , 0x00 , 0xFF , 0x10 , 0x00 , 0xFF , 0x13 , 0x00 , 0xFF , 0x16 , 0x00 , 0xFF , 0x19 , 0x00 , 0xFF , 0x1C , + 0x00 , 0xFF , 0x21 , 0x00 , 0xFF , 0x24 , 0x00 , 0xFF , 0x28 , 0x00 , 0xFF , 0x2C , 0x00 , 0xFF , 0x31 , 0x00 , + 0xFF , 0x35 , 0x00 , 0xFF , 0x38 , 0x00 , 0xFF , 0x3D , 0x00 , 0xFF , 0x41 , 0x00 , 0xFF , 0x46 , 0x00 , 0xFF , + 0x4B , 0x00 , 0xFF , 0x50 , 0x00 , 0xFF , 0x54 , 0x00 , 0xFF , 0x59 , 0x00 , 0xFF , 0x5D , 0x00 , 0xFF , 0x63 , + 0x00 , 0xFF , 0x67 , 0x00 , 0xFF , 0x6C , 0x00 , 0xFF , 0x71 , 0x00 , 0xFF , 0x76 , 0x00 , 0xFF , 0x7B , 0x00 , + 0xFF , 0x81 , 0x00 , 0xFF , 0x85 , 0x00 , 0xFD , 0x8A , 0x00 , 0xFC , 0x8F , 0x00 , 0xFB , 0x95 , 0x00 , 0xFA , + 0x9A , 0x00 , 0xF8 , 0x9E , 0x00 , 0xF8 , 0xA3 , 0x00 , 0xF6 , 0xA7 , 0x00 , 0xF5 , 0xAD , 0x00 , 0xF4 , 0xB1 , + 0x00 , 0xF3 , 0xB6 , 0x00 , 0xF1 , 0xBA , 0x00 , 0xF0 , 0xBF , 0x00 , 0xF0 , 0xC4 , 0x00 , 0xEE , 0xC8 , 0x00 , + 0xED , 0xCD , 0x00 , 0xEC , 0xD0 , 0x00 , 0xEB , 0xD4 , 0x00 , 0xEB , 0xD8 , 0x00 , 0xE9 , 0xDD , 0x00 , 0xE8 , + 0xE0 , 0x00 , 0xE8 , 0xE4 , 0x00 , 0xE7 , 0xE7 , 0x00 , 0xE7 , 0xEB , 0x00 , 0xE6 , 0xED , 0x00 , 0xE6 , 0xF0 , + 0x00 , 0xE5 , 0xF4 , 0x00 , 0xE4 , 0xF7 , 0x00 , 0xE4 , 0xF9 , 0x00 , 0xE4 , 0xFB , 0x00 , 0xE4 , 0xFE , 0x00 , + 0xE4 , 0xFF , 0x01 , 0xE4 , 0xFF , 0x02 , 0xE5 , 0xFF , 0x05 , 0xE4 , 0xFF , 0x07 , 0xE5 , 0xFF , 0x0B , 0xE4 , + 0xFF , 0x0D , 0xE4 , 0xFF , 0x10 , 0xE5 , 0xFF , 0x13 , 0xE5 , 0xFF , 0x16 , 0xE6 , 0xFF , 0x1A , 0xE5 , 0xFF , + 0x1D , 0xE5 , 0xFF , 0x21 , 0xE6 , 0xFF , 0x24 , 0xE6 , 0xFF , 0x29 , 0xE7 , 0xFF , 0x2C , 0xE7 , 0xFF , 0x30 , + 0xE8 , 0xFF , 0x34 , 0xE8 , 0xFF , 0x39 , 0xE9 , 0xFF , 0x3D , 0xE9 , 0xFF , 0x41 , 0xE9 , 0xFF , 0x46 , 0xEA , + 0xFF , 0x4A , 0xEB , 0xFF , 0x50 , 0xEB , 0xFF , 0x54 , 0xEC , 0xFF , 0x59 , 0xEC , 0xFF , 0x5E , 0xED , 0xFF , + 0x62 , 0xED , 0xFF , 0x67 , 0xEE , 0xFF , 0x6C , 0xEF , 0xFF , 0x71 , 0xEF , 0xFF , 0x76 , 0xF0 , 0xFF , 0x7B , + 0xF0 , 0xFF , 0x80 , 0xF0 , 0xFF , 0x85 , 0xF1 , 0xFF , 0x8A , 0xF2 , 0xFF , 0x8F , 0xF2 , 0xFF , 0x94 , 0xF3 , + 0xFF , 0x99 , 0xF3 , 0xFF , 0x9D , 0xF4 , 0xFF , 0xA3 , 0xF5 , 0xFF , 0xA7 , 0xF5 , 0xFF , 0xAC , 0xF6 , 0xFF , + 0xB1 , 0xF6 , 0xFF , 0xB5 , 0xF6 , 0xFF , 0xBA , 0xF7 , 0xFF , 0xBE , 0xF8 , 0xFF , 0xC3 , 0xF8 , 0xFF , 0xC7 , + 0xF9 , 0xFF , 0xCB , 0xF9 , 0xFF , 0xD0 , 0xFA , 0xFF , 0xD4 , 0xFB , 0xFF , 0xD8 , 0xFB , 0xFF , 0xDC , 0xFB , + 0xFF , 0xDF , 0xFC , 0xFF , 0xE2 , 0xFC , 0xFF , 0xE6 , 0xFC , 0xFF , 0xEA , 0xFD , 0xFF , 0xEC , 0xFD , 0xFF , + 0xF0 , 0xFD , 0xFF , 0xF3 , 0xFE , 0xFF , 0xF6 , 0xFE , 0xFF , 0xF8 , 0xFF , 0xFF , 0xFB , 0xFF , 0xFF , 0xFD , + }; diff --git a/FactoryTest/TFTTerminal.cpp b/FactoryTest/TFTTerminal.cpp new file mode 100644 index 0000000..78f67c7 --- /dev/null +++ b/FactoryTest/TFTTerminal.cpp @@ -0,0 +1,151 @@ +#include "TFTTerminal.h" + +TFTTerminal::TFTTerminal(TFT_eSprite *dis_buff_ptr) +{ + _dis_buff_ptr = dis_buff_ptr; + memset(discharbuff, 0, 55 * 60); +} + +TFTTerminal::~TFTTerminal() +{ + +} + + +void TFTTerminal::setcolor( uint16_t color, uint16_t bk_color ) +{ + _color = color; + _bkcolor = bk_color; +} + +void TFTTerminal::setGeometry(uint16_t x, uint16_t y, uint16_t w, uint16_t h ) +{ + _win_x_pos = x; + _win_y_pos = y; + _win_w = w; + _win_h = h; + + _line_x_limit = _win_w / _font_x_size; + _line_y_limit = _win_h / _font_y_size; +} + +size_t TFTTerminal::write(uint8_t chardata) +{ + + bool flush_page_flag = false; + uint8_t dis_y_pos = 0; + + if ((chardata == '\r') || (chardata == '\n')) + { + xpos = 0; + ypos++; + ypos = ypos % 60; + memset(discharbuff[ypos % 60], 0, 55); + return 1; + } + else if(xpos >= _line_x_limit) + { + xpos = 0; + ypos++; + ypos = ypos % 60; + memset(discharbuff[ypos % 60], 0, 55); + } + + discharbuff[ypos][xpos] = chardata; + xpos++; + + if ((dispos <= ypos) && ((ypos - dispos) > _line_y_limit)) + { + dispos = ypos - _line_y_limit; + flush_page_flag = true; + } + else if ((dispos <= ypos) && ((ypos - dispos) <= _line_y_limit)) + { + dis_y_pos = ypos - dispos; + flush_page_flag = false; + } + else if ((dispos > ypos) && ((60 - (dispos - ypos)) > _line_y_limit)) + { + dispos = 60 - ( _line_y_limit - ypos ); + flush_page_flag = true; + } + else if ((dispos > ypos) && ((60 - (dispos - ypos)) > _line_y_limit)) + { + dis_y_pos = 60 - ( dispos - ypos ); + flush_page_flag = false; + } + + dispos = dispos % 60; + + _dis_buff_ptr->setTextColor(_color); + _dis_buff_ptr->setTextSize(0); + + if( flush_page_flag ) + { + _dis_buff_ptr->fillSprite(_bkcolor); + + for (size_t i = 0; i < _line_y_limit; i++) + { + _dis_buff_ptr->drawString((char *)discharbuff[(dispos + i) % 60], 0, i * 8); + } + } + else + { + _dis_buff_ptr->drawChar(chardata, ( xpos - 1 ) * _font_x_size, dis_y_pos * _font_y_size ); + } + _dis_buff_ptr->pushSprite(_win_x_pos, _win_y_pos); + + return 1; + +} + +size_t TFTTerminal::write(const uint8_t *buffer, size_t size) +{ + + while ((size != 0) && (*buffer != '\0')) + { + if ((*buffer == '\r') || (*buffer == '\n')) + { + xpos = 0; + ypos++; + ypos = ypos % 60; + memset(discharbuff[ypos % 60], 0, 55); + buffer++; + size--; + continue; + } + else if(xpos >= _line_x_limit) + { + xpos = 0; + ypos++; + ypos = ypos % 60; + memset(discharbuff[ypos % 60], 0, 55); + } + discharbuff[ypos][xpos] = *buffer; + xpos++; + buffer++; + size--; + } + + if ((dispos <= ypos) && ((ypos - dispos) > _line_y_limit)) + { + dispos = ypos - _line_y_limit; + } + else if ((dispos > ypos) && ((60 - (dispos - ypos)) > _line_y_limit)) + { + dispos = 60- ( _line_y_limit - ypos ); + } + + dispos = dispos % 60; + + _dis_buff_ptr->setTextColor(_color); + _dis_buff_ptr->setTextSize(0); + _dis_buff_ptr->fillSprite(_bkcolor); + //_dis_buff_ptr->fillRect(_win_x_pos, _win_y_pos, _win_w, _win_h, _bkcolor); + for (size_t i = 0; i < _line_y_limit; i++) + { + _dis_buff_ptr->drawString((char *)discharbuff[(dispos + i) % 60], 0, i * 8); + } + _dis_buff_ptr->pushSprite(_win_x_pos, _win_y_pos); + return 1; +} diff --git a/FactoryTest/TFTTerminal.h b/FactoryTest/TFTTerminal.h new file mode 100644 index 0000000..c747e34 --- /dev/null +++ b/FactoryTest/TFTTerminal.h @@ -0,0 +1,33 @@ +#ifndef _TFTTERMINAL_H_ +#define _TFTTERMINAL_H_ + +#include + +class TFTTerminal : public Print +{ +private: + TFT_eSprite *disptr; + char discharbuff[60][55]; + uint32_t xpos = 0,ypos = 0, dispos = 0; + TFT_eSprite* _dis_buff_ptr = NULL; + uint16_t _bkcolor = TFT_BLACK; + uint16_t _color = TFT_GREEN; + + uint16_t _win_x_pos = 0,_win_y_pos = 0,_win_w = 320,_win_h = 240; + uint16_t _font_x_size = 6,_font_y_size = 8; + uint16_t _line_x_limit = 53,_line_y_limit = 30; + +public: + TFTTerminal(TFT_eSprite *dis_buff_ptr); + ~TFTTerminal(); + + void setcolor( uint16_t color, uint16_t bk_color ); + void setGeometry(uint16_t x, uint16_t y, uint16_t w, uint16_t h ); + void setFontsize(uint8_t size); + + size_t write(uint8_t) ; + size_t write(const uint8_t *buffer, size_t size); +}; + + +#endif diff --git a/FactoryTest/WebOTA.ino b/FactoryTest/WebOTA.ino new file mode 100644 index 0000000..1d6b71f --- /dev/null +++ b/FactoryTest/WebOTA.ino @@ -0,0 +1,170 @@ +// FactoryTestをWebからダウンロードして書き込む +// 参考:https://lang-ship.com/blog/work/m5stickc-web-update-ota/ + +#include +#include + +const char *ssid0 = "ics-ap"; // 802.11b/g (2.4GHz)only. 5GHz is not supported. +const char *password0 = "jikkenics"; + +WiFiClient client; +void execOTA(String host, int port, String bin); +void lcdprintln(String mes, uint16_t color, int y) +{ + if (y == 0) + M5.Lcd.fillScreen(color); + if (y < 999) + M5.Lcd.setCursor(0, y, 4); + M5.Lcd.setTextColor(BLACK, color); + M5.Lcd.println(mes); +} +void start_WebOTA() +{ + // M5.begin(); + // M5.Lcd.setRotation(3); + lcdprintln(" -- WebOTA --\n\n wifi connecting...", ORANGE, 0); + + WiFi.begin(ssid0, password0); // 接続開始 + while (WiFi.status() != WL_CONNECTED) + { // 接続中... + M5.Beep.tone(2000); + delay(200); + M5.Beep.mute(); + delay(1000); + M5.Lcd.print("."); + } + // 接続完了!! + M5.Beep.tone(4000); + lcdprintln(" Wifi Connected!\n ", GREEN, 0); + String gotip = WiFi.localIP().toString(); // m5デバイスのIPアドレス + M5.Lcd.println(gotip); + delay(1500); + M5.Beep.mute(); + + String host = "cit.istlab.info"; + int port = 80; + String bin = "/f/m5scp2_exp.ino.bin"; + execOTA(host, port, bin); +} + +// Utility to extract header value from headers +String getHeaderValue(String header, String headerName) +{ + return header.substring(strlen(headerName.c_str())); +} +// OTA Logic +void execOTA(String host, int port, String bin) +{ + // Connection Succeed + Serial.println(""); + Serial.println("Connected to Wi-Fi"); + long contentLength = 0; + bool isValidContentType = false; + lcdprintln(" Downloading...", YELLOW, 0); + if (client.connect(host.c_str(), port)) + { + Serial.println("Fetching Bin: " + String(bin)); + client.print(String("GET ") + bin + " HTTP/1.1\r\n" + + "Host: " + host + "\r\n" + + "Cache-Control: no-cache\r\n" + + "Connection: close\r\n\r\n"); + unsigned long timeout = millis(); + while (client.available() == 0) + { + if (millis() - timeout > 5000) + { + Serial.println("Client Timeout !"); + client.stop(); + return; + } + } + while (client.available()) + { + String line = client.readStringUntil('\n'); + line.trim(); + if (!line.length()) + { + break; + } + if (line.startsWith("HTTP/1.1")) + { + if (line.indexOf("200") < 0) + { + Serial.println("Got a non 200 status code from server. Exiting OTA Update."); + break; + } + } + if (line.startsWith("Content-Length: ")) + { + contentLength = atol((getHeaderValue(line, "Content-Length: ")).c_str()); + Serial.println("Got " + String(contentLength) + " bytes from server"); + } + if (line.startsWith("Content-Type: ")) + { + String contentType = getHeaderValue(line, "Content-Type: "); + Serial.println("Got " + contentType + " payload."); + if (contentType == "application/octet-stream") + { + isValidContentType = true; + } + } + } + } + else + { + Serial.println("Connection to " + String(host) + " failed. Please check your setup"); + } + Serial.println("contentLength : " + String(contentLength) + ", isValidContentType : " + String(isValidContentType)); + if (contentLength && isValidContentType) + { + bool canBegin = Update.begin(contentLength); + if (canBegin) + { + lcdprintln(" Downloaded.\n Upgrading...(wait 2-3 min.)", GREENYELLOW, 999); + Serial.println("Begin OTA. This may take 2 - 5 mins to complete. Things might be quite for a while.. Patience!"); + size_t written = Update.writeStream(client); + if (written == contentLength) + { + Serial.println("Written : " + String(written) + " successfully"); + } + else + { + Serial.println("Written only : " + String(written) + "/" + String(contentLength) + ". Retry?"); + } + if (Update.end()) + { + M5.Beep.tone(4000); + lcdprintln("\n\n OTA Done. \n shutdown now", GREENYELLOW, 0); + + delay(2000); + M5.Beep.mute(); + + Serial.println("OTA done!"); + if (Update.isFinished()) + { + Serial.println("Update successfully completed. Rebooting."); + // ESP.restart(); + M5.Axp.Write1Byte(0x32, M5.Axp.Read8bit(0x32) | 0x80); // 電源OFF + } + else + { + Serial.println("Update not finished? Something went wrong!"); + } + } + else + { + Serial.println("Error Occurred. Error #: " + String(Update.getError())); + } + } + else + { + Serial.println("Not enough space to begin OTA"); + client.flush(); + } + } + else + { + Serial.println("There was no content in the response"); + client.flush(); + } +} \ No newline at end of file diff --git a/FactoryTest/fft.cpp b/FactoryTest/fft.cpp new file mode 100644 index 0000000..cfd1506 --- /dev/null +++ b/FactoryTest/fft.cpp @@ -0,0 +1,693 @@ +/* + + ESP32 FFT + ========= + + This provides a vanilla radix-2 FFT implementation and a test example. + + Author + ------ + + This code was written by [Robin Scheibler](http://www.robinscheibler.org) during rainy days in October 2017. + + License + ------- + + Copyright (c) 2017 Robin Scheibler + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. + +*/ +#include +#include +#include +#include + +#include "fft.h" + +#define TWO_PI 6.28318530 +#define USE_SPLIT_RADIX 1 +#define LARGE_BASE_CASE 1 + +fft_config_t *fft_init(int size, fft_type_t type, fft_direction_t direction, float *input, float *output) +{ + /* + * Prepare an FFT of correct size and types. + * + * If no input or output buffers are provided, they will be allocated. + */ + int k,m; + + fft_config_t *config = (fft_config_t *)malloc(sizeof(fft_config_t)); + + // Check if the size is a power of two + if ((size & (size-1)) != 0) // tests if size is a power of two + return NULL; + + // start configuration + config->flags = 0; + config->type = type; + config->direction = direction; + config->size = size; + + // Allocate and precompute twiddle factors + config->twiddle_factors = (float *)malloc(2 * config->size * sizeof(float)); + + float two_pi_by_n = TWO_PI / config->size; + + for (k = 0, m = 0 ; k < config->size ; k++, m+=2) + { + config->twiddle_factors[m] = cosf(two_pi_by_n * k); // real + config->twiddle_factors[m+1] = sinf(two_pi_by_n * k); // imag + } + + // Allocate input buffer + if (input != NULL) + config->input = input; + else + { + if (config->type == FFT_REAL) + config->input = (float *)malloc(config->size * sizeof(float)); + else if (config->type == FFT_COMPLEX) + config->input = (float *)malloc(2 * config->size * sizeof(float)); + + config->flags |= FFT_OWN_INPUT_MEM; + } + + if (config->input == NULL) + return NULL; + + // Allocate output buffer + if (output != NULL) + config->output = output; + else + { + if (config->type == FFT_REAL) + config->output = (float *)malloc(config->size * sizeof(float)); + else if (config->type == FFT_COMPLEX) + config->output = (float *)malloc(2 * config->size * sizeof(float)); + + config->flags |= FFT_OWN_OUTPUT_MEM; + } + + if (config->output == NULL) + return NULL; + + return config; +} + +void fft_destroy(fft_config_t *config) +{ + if (config->flags & FFT_OWN_INPUT_MEM) + free(config->input); + + if (config->flags & FFT_OWN_OUTPUT_MEM) + free(config->output); + + free(config->twiddle_factors); + free(config); +} + +void fft_execute(fft_config_t *config) +{ + if (config->type == FFT_REAL && config->direction == FFT_FORWARD) + rfft(config->input, config->output, config->twiddle_factors, config->size); + else if (config->type == FFT_REAL && config->direction == FFT_BACKWARD) + irfft(config->input, config->output, config->twiddle_factors, config->size); + else if (config->type == FFT_COMPLEX && config->direction == FFT_FORWARD) + fft(config->input, config->output, config->twiddle_factors, config->size); + else if (config->type == FFT_COMPLEX && config->direction == FFT_BACKWARD) + ifft(config->input, config->output, config->twiddle_factors, config->size); +} + +void fft(float *input, float *output, float *twiddle_factors, int n) +{ + /* + * Forward fast Fourier transform + * DIT, radix-2, out-of-place implementation + * + * Parameters + * ---------- + * input (float *) + * The input array containing the complex samples with + * real/imaginary parts interleaved [Re(x0), Im(x0), ..., Re(x_n-1), Im(x_n-1)] + * output (float *) + * The output array containing the complex samples with + * real/imaginary parts interleaved [Re(x0), Im(x0), ..., Re(x_n-1), Im(x_n-1)] + * n (int) + * The FFT size, should be a power of 2 + */ + +#if USE_SPLIT_RADIX + split_radix_fft(input, output, n, 2, twiddle_factors, 2); +#else + fft_primitive(input, output, n, 2, twiddle_factors, 2); +#endif +} + +void ifft(float *input, float *output, float *twiddle_factors, int n) +{ + /* + * Inverse fast Fourier transform + * DIT, radix-2, out-of-place implementation + * + * Parameters + * ---------- + * input (float *) + * The input array containing the complex samples with + * real/imaginary parts interleaved [Re(x0), Im(x0), ..., Re(x_n-1), Im(x_n-1)] + * output (float *) + * The output array containing the complex samples with + * real/imaginary parts interleaved [Re(x0), Im(x0), ..., Re(x_n-1), Im(x_n-1)] + * n (int) + * The FFT size, should be a power of 2 + */ + ifft_primitive(input, output, n, 2, twiddle_factors, 2); +} + +void rfft(float *x, float *y, float *twiddle_factors, int n) +{ + + // This code uses the two-for-the-price-of-one strategy +#if USE_SPLIT_RADIX + split_radix_fft(x, y, n / 2, 2, twiddle_factors, 4); +#else + fft_primitive(x, y, n / 2, 2, twiddle_factors, 4); +#endif + + // Now apply post processing to recover positive + // frequencies of the real FFT + float t = y[0]; + y[0] = t + y[1]; // DC coefficient + y[1] = t - y[1]; // Center coefficient + + // Apply post processing to quarter element + // this boils down to taking complex conjugate + y[n/2+1] = -y[n/2+1]; + + // Now process all the other frequencies + int k; + for (k = 2 ; k < n / 2 ; k += 2) + { + float xer, xei, xor_t, xoi, c, s, tr, ti; + + c = twiddle_factors[k]; + s = twiddle_factors[k+1]; + + // even half coefficient + xer = 0.5 * (y[k] + y[n-k]); + xei = 0.5 * (y[k+1] - y[n-k+1]); + + // odd half coefficient + xor_t = 0.5 * (y[k+1] + y[n-k+1]); + xoi = - 0.5 * (y[k] - y[n-k]); + + tr = c * xor_t + s * xoi; + ti = -s * xor_t + c * xoi; + + y[k] = xer + tr; + y[k+1] = xei + ti; + + y[n-k] = xer - tr; + y[n-k+1] = -(xei - ti); + } +} + +void irfft(float *x, float *y, float *twiddle_factors, int n) +{ + /* + * Destroys content of input vector + */ + int k; + + // Here we need to apply a pre-processing first + float t = x[0]; + x[0] = 0.5 * (t + x[1]); + x[1] = 0.5 * (t - x[1]); + + x[n/2+1] = -x[n/2+1]; + + for (k = 2 ; k < n / 2 ; k += 2) + { + float xer, xei, xor_t, xoi, c, s, tr, ti; + + c = twiddle_factors[k]; + s = twiddle_factors[k+1]; + + xer = 0.5 * (x[k] + x[n-k]); + tr = 0.5 * (x[k] - x[n-k]); + + xei = 0.5 * (x[k+1] - x[n-k+1]); + ti = 0.5 * (x[k+1] + x[n-k+1]); + + xor_t = c * tr - s * ti; + xoi = s * tr + c * ti; + + x[k] = xer - xoi; + x[k+1] = xor_t + xei; + + x[n-k] = xer + xoi; + x[n-k+1] = xor_t - xei; + } + + ifft_primitive(x, y, n / 2, 2, twiddle_factors, 4); +} + +void fft_primitive(float *x, float *y, int n, int stride, float *twiddle_factors, int tw_stride) +{ + /* + * This code will compute the FFT of the input vector x + * + * The input data is assumed to be real/imag interleaved + * + * The size n should be a power of two + * + * y is an output buffer of size 2n to accomodate for complex numbers + * + * Forward fast Fourier transform + * DIT, radix-2, out-of-place implementation + * + * For a complex FFT, call first stage as: + * fft(x, y, n, 2, 2); + * + * Parameters + * ---------- + * x (float *) + * The input array containing the complex samples with + * real/imaginary parts interleaved [Re(x0), Im(x0), ..., Re(x_n-1), Im(x_n-1)] + * y (float *) + * The output array containing the complex samples with + * real/imaginary parts interleaved [Re(x0), Im(x0), ..., Re(x_n-1), Im(x_n-1)] + * n (int) + * The FFT size, should be a power of 2 + * stride (int) + * The number of elements to skip between two successive samples + * tw_stride (int) + * The number of elements to skip between two successive twiddle factors + */ + int k; + float t; + +#if LARGE_BASE_CASE + // End condition, stop at n=8 to avoid one trivial recursion + if (n == 8) + { + fft8(x, stride, y, 2); + return; + } +#else + // End condition, stop at n=2 to avoid one trivial recursion + if (n == 2) + { + y[0] = x[0] + x[stride]; + y[1] = x[1] + x[stride + 1]; + y[2] = x[0] - x[stride]; + y[3] = x[1] - x[stride + 1]; + return; + } +#endif + + // Recursion -- Decimation In Time algorithm + fft_primitive(x, y, n / 2, 2 * stride, twiddle_factors, 2 * tw_stride); // even half + fft_primitive(x + stride, y+n, n / 2, 2 * stride, twiddle_factors, 2 * tw_stride); // odd half + + // Stitch back together + + // We can a few multiplications in the first step + t = y[0]; + y[0] = t + y[n]; + y[n] = t - y[n]; + + t = y[1]; + y[1] = t + y[n+1]; + y[n+1] = t - y[n+1]; + + for (k = 1 ; k < n / 2 ; k++) + { + float x1r, x1i, x2r, x2i, c, s; + c = twiddle_factors[k * tw_stride]; + s = twiddle_factors[k * tw_stride + 1]; + + x1r = y[2 * k]; + x1i = y[2 * k + 1]; + x2r = c * y[n + 2 * k] + s * y[n + 2 * k + 1]; + x2i = -s * y[n + 2 * k] + c * y[n + 2 * k + 1]; + + y[2 * k] = x1r + x2r; + y[2 * k + 1] = x1i + x2i; + + y[n + 2 * k] = x1r - x2r; + y[n + 2 * k + 1] = x1i - x2i; + } + +} + +void split_radix_fft(float *x, float *y, int n, int stride, float *twiddle_factors, int tw_stride) +{ + /* + * This code will compute the FFT of the input vector x + * + * The input data is assumed to be real/imag interleaved + * + * The size n should be a power of two + * + * y is an output buffer of size 2n to accomodate for complex numbers + * + * Forward fast Fourier transform + * Split-Radix + * DIT, radix-2, out-of-place implementation + * + * For a complex FFT, call first stage as: + * fft(x, y, n, 2, 2); + * + * Parameters + * ---------- + * x (float *) + * The input array containing the complex samples with + * real/imaginary parts interleaved [Re(x0), Im(x0), ..., Re(x_n-1), Im(x_n-1)] + * y (float *) + * The output array containing the complex samples with + * real/imaginary parts interleaved [Re(x0), Im(x0), ..., Re(x_n-1), Im(x_n-1)] + * n (int) + * The FFT size, should be a power of 2 + * stride (int) + * The number of elements to skip between two successive samples + * twiddle_factors (float *) + * The array of twiddle factors + * tw_stride (int) + * The number of elements to skip between two successive twiddle factors + */ + int k; + +#if LARGE_BASE_CASE + // End condition, stop at n=2 to avoid one trivial recursion + if (n == 8) + { + fft8(x, stride, y, 2); + return; + } + else if (n == 4) + { + fft4(x, stride, y, 2); + return; + } +#else + // End condition, stop at n=2 to avoid one trivial recursion + if (n == 2) + { + y[0] = x[0] + x[stride]; + y[1] = x[1] + x[stride + 1]; + y[2] = x[0] - x[stride]; + y[3] = x[1] - x[stride + 1]; + return; + } + else if (n == 1) + { + y[0] = x[0]; + y[1] = x[1]; + return; + } +#endif + + // Recursion -- Decimation In Time algorithm + split_radix_fft(x, y, n / 2, 2 * stride, twiddle_factors, 2 * tw_stride); + split_radix_fft(x + stride, y + n, n / 4, 4 * stride, twiddle_factors, 4 * tw_stride); + split_radix_fft(x + 3 * stride, y + n + n / 2, n / 4, 4 * stride, twiddle_factors, 4 * tw_stride); + + // Stitch together the output + float u1r, u1i, u2r, u2i, x1r, x1i, x2r, x2i; + float t; + + // We can save a few multiplications in the first step + u1r = y[0]; + u1i = y[1]; + u2r = y[n / 2]; + u2i = y[n / 2 + 1]; + + x1r = y[n]; + x1i = y[n + 1]; + x2r = y[n / 2 + n]; + x2i = y[n / 2 + n + 1]; + + t = x1r + x2r; + y[0] = u1r + t; + y[n] = u1r - t; + + t = x1i + x2i; + y[1] = u1i + t; + y[n + 1] = u1i - t; + + t = x2i - x1i; + y[n / 2] = u2r - t; + y[n + n / 2] = u2r + t; + + t = x1r - x2r; + y[n / 2 + 1] = u2i - t; + y[n + n / 2 + 1] = u2i + t; + + for (k = 1 ; k < n / 4 ; k++) + { + float u1r, u1i, u2r, u2i, x1r, x1i, x2r, x2i, c1, s1, c2, s2; + c1 = twiddle_factors[k * tw_stride]; + s1 = twiddle_factors[k * tw_stride + 1]; + c2 = twiddle_factors[3 * k * tw_stride]; + s2 = twiddle_factors[3 * k * tw_stride + 1]; + + u1r = y[2 * k]; + u1i = y[2 * k + 1]; + u2r = y[2 * k + n / 2]; + u2i = y[2 * k + n / 2 + 1]; + + x1r = c1 * y[n + 2 * k] + s1 * y[n + 2 * k + 1]; + x1i = -s1 * y[n + 2 * k] + c1 * y[n + 2 * k + 1]; + x2r = c2 * y[n / 2 + n + 2 * k] + s2 * y[n / 2 + n + 2 * k + 1]; + x2i = -s2 * y[n / 2 + n + 2 * k] + c2 * y[n / 2 + n + 2 * k + 1]; + + t = x1r + x2r; + y[2 * k] = u1r + t; + y[2 * k + n] = u1r - t; + + t = x1i + x2i; + y[2 * k + 1] = u1i + t; + y[2 * k + n + 1] = u1i - t; + + t = x2i - x1i; + y[2 * k + n / 2] = u2r - t; + y[2 * k + n + n / 2] = u2r + t; + + t = x1r - x2r; + y[2 * k + n / 2 + 1] = u2i - t; + y[2 * k + n + n / 2 + 1] = u2i + t; + } + +} + + +void ifft_primitive(float *input, float *output, int n, int stride, float *twiddle_factors, int tw_stride) +{ + +#if USE_SPLIT_RADIX + split_radix_fft(input, output, n, stride, twiddle_factors, tw_stride); +#else + fft_primitive(input, output, n, stride, twiddle_factors, tw_stride); +#endif + + int ks; + + int ns = n * stride; + + // reverse all coefficients from 1 to n / 2 - 1 + for (ks = stride ; ks < ns / 2 ; ks += stride) + { + float t; + + t = output[ks]; + output[ks] = output[ns-ks]; + output[ns-ks] = t; + + t = output[ks+1]; + output[ks+1] = output[ns-ks+1]; + output[ns-ks+1] = t; + } + + // Apply normalization + float norm = 1. / n; + for (ks = 0 ; ks < ns ; ks += stride) + { + output[ks] *= norm; + output[ks+1] *= norm; + } + +} + +inline void fft8(float *input, int stride_in, float *output, int stride_out) +{ + /* + * Unrolled implementation of FFT8 for a little more performance + */ + float a0r, a1r, a2r, a3r, a4r, a5r, a6r, a7r; + float a0i, a1i, a2i, a3i, a4i, a5i, a6i, a7i; + float b0r, b1r, b2r, b3r, b4r, b5r, b6r, b7r; + float b0i, b1i, b2i, b3i, b4i, b5i, b6i, b7i; + float t; + float sin_pi_4 = 0.7071067812; + + a0r = input[0]; + a0i = input[1]; + a1r = input[stride_in]; + a1i = input[stride_in+1]; + a2r = input[2*stride_in]; + a2i = input[2*stride_in+1]; + a3r = input[3*stride_in]; + a3i = input[3*stride_in+1]; + a4r = input[4*stride_in]; + a4i = input[4*stride_in+1]; + a5r = input[5*stride_in]; + a5i = input[5*stride_in+1]; + a6r = input[6*stride_in]; + a6i = input[6*stride_in+1]; + a7r = input[7*stride_in]; + a7i = input[7*stride_in+1]; + + // Stage 1 + + b0r = a0r + a4r; + b0i = a0i + a4i; + + b1r = a1r + a5r; + b1i = a1i + a5i; + + b2r = a2r + a6r; + b2i = a2i + a6i; + + b3r = a3r + a7r; + b3i = a3i + a7i; + + b4r = a0r - a4r; + b4i = a0i - a4i; + + b5r = a1r - a5r; + b5i = a1i - a5i; + // W_8^1 = 1/sqrt(2) - j / sqrt(2) + t = b5r + b5i; + b5i = (b5i - b5r) * sin_pi_4; + b5r = t * sin_pi_4; + + // W_8^2 = -j + b6r = a2i - a6i; + b6i = a6r - a2r; + + b7r = a3r - a7r; + b7i = a3i - a7i; + // W_8^3 = -1 / sqrt(2) + j / sqrt(2) + t = sin_pi_4 * (b7i - b7r); + b7i = - (b7r + b7i) * sin_pi_4; + b7r = t; + + // Stage 2 + + a0r = b0r + b2r; + a0i = b0i + b2i; + + a1r = b1r + b3r; + a1i = b1i + b3i; + + a2r = b0r - b2r; + a2i = b0i - b2i; + + // * j + a3r = b1i - b3i; + a3i = b3r - b1r; + + a4r = b4r + b6r; + a4i = b4i + b6i; + + a5r = b5r + b7r; + a5i = b5i + b7i; + + a6r = b4r - b6r; + a6i = b4i - b6i; + + // * j + a7r = b5i - b7i; + a7i = b7r - b5r; + + // Stage 3 + + // X[0] + output[0] = a0r + a1r; + output[1] = a0i + a1i; + + // X[4] + output[4*stride_out] = a0r - a1r; + output[4*stride_out+1] = a0i - a1i; + + // X[2] + output[2*stride_out] = a2r + a3r; + output[2*stride_out+1] = a2i + a3i; + + // X[6] + output[6*stride_out] = a2r - a3r; + output[6*stride_out+1] = a2i - a3i; + + // X[1] + output[stride_out] = a4r + a5r; + output[stride_out+1] = a4i + a5i; + + // X[5] + output[5*stride_out] = a4r - a5r; + output[5*stride_out+1] = a4i - a5i; + + // X[3] + output[3*stride_out] = a6r + a7r; + output[3*stride_out+1] = a6i + a7i; + + // X[7] + output[7*stride_out] = a6r - a7r; + output[7*stride_out+1] = a6i - a7i; + +} + +inline void fft4(float *input, int stride_in, float *output, int stride_out) +{ + /* + * Unrolled implementation of FFT4 for a little more performance + */ + float t1, t2; + + t1 = input[0] + input[2*stride_in]; + t2 = input[stride_in] + input[3*stride_in]; + output[0] = t1 + t2; + output[2*stride_out] = t1 - t2; + + t1 = input[1] + input[2*stride_in+1]; + t2 = input[stride_in+1] + input[3*stride_in+1]; + output[1] = t1 + t2; + output[2*stride_out+1] = t1 - t2; + + t1 = input[0] - input[2*stride_in]; + t2 = input[stride_in+1] - input[3*stride_in+1]; + output[stride_out] = t1 + t2; + output[3*stride_out] = t1 - t2; + + t1 = input[1] - input[2*stride_in+1]; + t2 = input[3*stride_in] - input[stride_in]; + output[stride_out+1] = t1 + t2; + output[3*stride_out+1] = t1 - t2; +} diff --git a/FactoryTest/fft.h b/FactoryTest/fft.h new file mode 100644 index 0000000..9f70bcb --- /dev/null +++ b/FactoryTest/fft.h @@ -0,0 +1,79 @@ +/* + + ESP32 FFT + ========= + + This provides a vanilla radix-2 FFT implementation and a test example. + + Author + ------ + + This code was written by [Robin Scheibler](http://www.robinscheibler.org) during rainy days in October 2017. + + License + ------- + + Copyright (c) 2017 Robin Scheibler + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. + +*/ +#ifndef __FFT_H__ +#define __FFT_H__ + +typedef enum +{ + FFT_REAL, + FFT_COMPLEX +} fft_type_t; + +typedef enum +{ + FFT_FORWARD, + FFT_BACKWARD +} fft_direction_t; + +#define FFT_OWN_INPUT_MEM 1 +#define FFT_OWN_OUTPUT_MEM 2 + +typedef struct +{ + int size; // FFT size + float *input; // pointer to input buffer + float *output; // pointer to output buffer + float *twiddle_factors; // pointer to buffer holding twiddle factors + fft_type_t type; // real or complex + fft_direction_t direction; // forward or backward + unsigned int flags; // FFT flags +} fft_config_t; + +fft_config_t *fft_init(int size, fft_type_t type, fft_direction_t direction, float *input, float *output); +void fft_destroy(fft_config_t *config); +void fft_execute(fft_config_t *config); +void fft(float *input, float *output, float *twiddle_factors, int n); +void ifft(float *input, float *output, float *twiddle_factors, int n); +void rfft(float *x, float *y, float *twiddle_factors, int n); +void irfft(float *x, float *y, float *twiddle_factors, int n); +void fft_primitive(float *x, float *y, int n, int stride, float *twiddle_factors, int tw_stride); +void split_radix_fft(float *x, float *y, int n, int stride, float *twiddle_factors, int tw_stride); +void ifft_primitive(float *input, float *output, int n, int stride, float *twiddle_factors, int tw_stride); +void fft8(float *input, int stride_in, float *output, int stride_out); +void fft4(float *input, int stride_in, float *output, int stride_out); + +#endif // __FFT_H__ diff --git a/FactoryTest/wifi.ino b/FactoryTest/wifi.ino new file mode 100644 index 0000000..953c74c --- /dev/null +++ b/FactoryTest/wifi.ino @@ -0,0 +1,98 @@ +#include + +const char *ssid = "ics-ap"; // 802.11b/g (2.4GHz)only. 5GHz is not supported. +const char *password = "jikkenics"; + +// const char *ntpserver = "192.168.11.11"; //実験室ローカルNTPサーバ +const char *ntpserver = "ntp.nict.jp"; + +bool wifi_setup() +{ + M5.Display.fillScreen(ORANGE); + M5.Display.setCursor(10, 50, 4); + + WiFi.begin(ssid, password); // 接続開始 + int count = 50; + while (WiFi.status() != WL_CONNECTED) + { // 接続中... + M5.Beep.tone(2000); + delay(200); + M5.Beep.mute(); + delay(300); + M5.Display.print("."); + count--; + if (count < 1) + break; + } + if (count > 0) + { + // 接続完了!! + M5.Beep.tone(4000); + M5.Display.fillScreen(GREEN); + M5.Display.setCursor(0, 8, 4); + M5.Display.setTextColor(BLACK, GREEN); + M5.Display.print(" Wifi Connected!\n "); + String gotip = WiFi.localIP().toString(); // m5デバイスのIPアドレス + M5.Display.println(gotip); + + // MACアドレスを表示 + uint8_t mac[6]; + char macchar[100]; + WiFi.macAddress(mac); + // esp_read_mac(mac, ESP_MAC_WIFI_STA); // OLD + sprintf(macchar, " %02X:%02X:%02X:%02X:%02X:%02X", mac[0], mac[1], mac[2], mac[3], mac[4], mac[5]); + String macstr = macchar; + M5.Display.println(macstr); + + delay(1500); + M5.Beep.mute(); + return true; + } + return false; +} +void wifi_down() +{ + WiFi.disconnect(); + WiFi.mode(WIFI_OFF); +} + +struct tm localTime; +void ntp_setup() +{ + configTime(9 * 3600, 0, ntpserver); // NTPサーバからLocalTimeへの時刻同期 + + delay(1000); + + while (localTime.tm_year < 80) + { + getLocalTime(&localTime); + M5.Beep.tone(1000); + delay(200); + M5.Beep.mute(); + delay(300); + M5.Display.print("."); + } + M5.Beep.tone(2000); + + setRTCfromLT(localTime); // LocalTimeからRTCへの時刻同期 +} + +// LocalTimeからRTCへの時刻同期 +void setRTCfromLT(struct tm lt) +{ + m5::rtc_date_t DateStruct; + DateStruct.year = lt.tm_year + 1900; + DateStruct.month = lt.tm_mon + 1; + DateStruct.date = lt.tm_mday; + DateStruct.weekDay = lt.tm_wday; + M5.Rtc.setDate(&DateStruct); + + m5::rtc_time_t TimeStruct; + TimeStruct.hours = lt.tm_hour; + TimeStruct.minutes = lt.tm_min; + TimeStruct.seconds = lt.tm_sec + 1; + M5.Rtc.setTime(&TimeStruct); + M5.Display.print(" RTC updated!\n "); + delay(1500); + M5.Beep.mute(); +}