ギターの練習をするのにメトロノームが欲しくなったので、M5StackCore2 で作ることにしました。
電子メトロノームというとピコピコという電子音のものが多いのですが、もうちょっとレトロなカチカチとクリック音のするものにしたかったので、WAVファイルからデータを作成して鳴らしてみました。
ところが、この音の再生に時間がかかりテンポがずれてしまい、1ミリ秒の割り込みを作るところまでは、すんなりと行ったのだけど、その後の処理の時間の分の調整が意外と厄介でした。
また、Beatの頭のチーンという音も、余韻を響かせると次の音と重なってしまい、短く切り詰めると、”ガチン”といった不本意な音になってしまったけど、まぁ、実用には差し支えなさそうなのでこれで行くことにしました。
機能としては、Beatの調整とSpeedの調整があり、Beatの表示部分をタッチするとBeatの頭でチーン(ガチン?)と鳴ります。
下部にボタンが3つあり、左からSoundボタン、Startボタン、Clickボタンとなっており、Startボタンをタッチするとメトロノームが開始し、もう一度タッチすると停止します。
Soundボタンは、タッチするとクリック音がし、もう一度タッチすると音が停止します。
Clickボタンは、タッチしたときにクリック音が鳴ります。 マニュアルで音を鳴らしたいときに使えます。…特に用途は思いつきませんが一応…。
プログラム的には、テンポの調整にSPEEDADJ というマクロ変数とSOUNDADJというマクロ変数で調整しています。
音の発音に時間がかかるようで、SoundのONとOFFでタイミングが異なるので2種類の調整時間を用意しています。調整するときは、SoundをOFFにして、先にSPEEDADJでテンポをあわせてから、SoundをONにして、SOUNDADJでテンポ合わせれば良いと思います。
一応33番のピンに出力できるようにしてあるので、デジタルアウトの部分のコメントアウトしているところを有効にして、オシロとかで見ながら調整すれば精度が上がると思いますが、私は、目分量でやっています。
WAVデータの再生は、以前の記事
M5Stack Core2でWAVデータを再生してみる。 - 満腹居士 七転八倒の記
を参照いただければ良いかと思います。
M5StackCore2でメトロノーム作ってみた pic.twitter.com/O1iBTPqdm7
— Munehiro_Fuku (@munehiro_fuku) 2023年1月10日
以下、プログラム
#include <M5Core2.h> #include <driver/i2s.h> #define LGFX_USE_V1 #include <LovyanGFX.hpp> #include <LGFX_AUTODETECT.hpp> #define TestPin 33 //Digital out pin for interval check or LED #define SPEEDADJ 5 // for interval adjust without sound #define SOUNDADJ 60 // for interval adjust with sound static LGFX lcd; static LGFX_Sprite spriteBY(&lcd); // sprite for Big Yellow Dot static LGFX_Sprite spriteSR(&lcd); // sprite for Small Red Dot static LGFX_Sprite spriteBB(&lcd); // sprite for Big Blue Dot //HotZone P_Btn(80,130,160,210); ButtonColors cl_on = {CYAN, WHITE, WHITE}; // Color on tap (Back color, String, Border) ButtonColors cl_off = {DARKCYAN, WHITE, WHITE}; // Color released (Back color, String, Border) Button myBtn_BL( 10,120, 50, 80); // Beat Down Button Button myBtn_BR( 60,120, 50, 80); // Beat Up Button Button myBtn_SL(210,120, 50, 80); // Speed Down Button Button myBtn_SR(260,120, 50, 80); // Speed Up Button Button myBtn_BE( 10,50,100,50); // Beat Enable Button Button btn_start(110,200, 100,40, false , "Start", cl_off, cl_on); // Start Button Button btn_sound(0,200, 100,40, false , "Sound", cl_off, cl_on); // Sound Button Button btn_click(220,200, 100,40, false , "Click", cl_off, cl_on); // Click Button hw_timer_t * timer = NULL; volatile uint32_t counter = 0; // for speed uint8_t counter2 = 0; // for beat bool start_fg = false; // Start flag bool sound_fg = true; //sound enable flag bool beat_en = false; //beat enable flag uint16_t speed = 60; // default Speed uint8_t beat = 4; // default beat (1/4) uint8_t LED = LOW; // for digital out uint16_t adjust; // for Speed adjust //Sound function --------------------------------------------------------------- extern const unsigned char clk[2448]; // for click sound data extern const unsigned char cheen[2440]; // for ding sound data #define CONFIG_I2S_BCK_PIN 12 #define CONFIG_I2S_LRCK_PIN 0 #define CONFIG_I2S_DATA_PIN 2 #define CONFIG_I2S_DATA_IN_PIN 34 #define Speak_I2S_NUMBER I2S_NUM_0 #define SAMPLE_RATE 16000 #define MODE_MIC 0 #define MODE_SPK 1 #define DATA_SIZE 32 bool InitI2SSpeakOrMic(int mode) { // Init I2S. esp_err_t err = ESP_OK; i2s_driver_uninstall(Speak_I2S_NUMBER); // Uninstall the I2S driver. i2s_config_t i2s_config = { .mode = (i2s_mode_t)(I2S_MODE_MASTER), // Set the I2S operating mode. .sample_rate = SAMPLE_RATE, // Set the I2S sampling rate. .bits_per_sample = I2S_BITS_PER_SAMPLE_16BIT, // Fixed 16-bit stereo MSB. .channel_format = I2S_CHANNEL_FMT_ONLY_RIGHT, // Set the channel format. .communication_format = I2S_COMM_FORMAT_I2S, // Set the format of the communication. .intr_alloc_flags = ESP_INTR_FLAG_LEVEL1, // Set the interrupt flag. .dma_buf_count = 2, // DMA buffer count. .dma_buf_len = 128, // DMA buffer length. }; if (mode == MODE_MIC) { i2s_config.mode = (i2s_mode_t)(I2S_MODE_MASTER | I2S_MODE_RX | I2S_MODE_PDM); } else { i2s_config.mode = (i2s_mode_t)(I2S_MODE_MASTER | I2S_MODE_TX); i2s_config.use_apll = false; // I2S clock setup. i2s_config.tx_desc_auto_clear = true; // Enables auto-cleanup descriptors for understreams. } // Install and drive I2S. err += i2s_driver_install(Speak_I2S_NUMBER, &i2s_config, 0, NULL); i2s_pin_config_t tx_pin_config; #if (ESP_IDF_VERSION > ESP_IDF_VERSION_VAL(4, 3, 0)) tx_pin_config.mck_io_num = I2S_PIN_NO_CHANGE; #endif tx_pin_config.bck_io_num = CONFIG_I2S_BCK_PIN; // Link the BCK to the CONFIG_I2S_BCK_PIN pin. tx_pin_config.ws_io_num = CONFIG_I2S_LRCK_PIN; // ... tx_pin_config.data_out_num = CONFIG_I2S_DATA_PIN; // ... tx_pin_config.data_in_num = CONFIG_I2S_DATA_IN_PIN; // ... err += i2s_set_pin(Speak_I2S_NUMBER, &tx_pin_config); // Set the I2S pin number. err += i2s_set_clk( Speak_I2S_NUMBER, SAMPLE_RATE, I2S_BITS_PER_SAMPLE_16BIT, I2S_CHANNEL_MONO); // Set the clock and bitwidth used by I2S Rx and Tx. return true; } void SpeakInit(void) { M5.Axp.SetSpkEnable(true); InitI2SSpeakOrMic(MODE_SPK); } // Click sound void Sound(void) { size_t bytes_written = 0; i2s_write(Speak_I2S_NUMBER, clk, 2448, &bytes_written, portMAX_DELAY); } // Ding sound void Sound2(void) { size_t bytes_written = 0; i2s_write(Speak_I2S_NUMBER, cheen, 2440, &bytes_written, portMAX_DELAY); } // end of sound --------------------------------------------------- // Interrupt fanction (1mSec counter) void IRAM_ATTR onTimer(){ counter++; } void setup() { M5.begin(true, true, true, true); pinMode(TestPin, OUTPUT); lcd.init(); lcd.setRotation(1); lcd.setBrightness(128); // Create Sprite for Red, Yellow, Blue Dot spriteBY.createSprite(80, 80); spriteSR.createSprite(80, 80); spriteBB.createSprite(80, 80); spriteBY.fillCircle(40, 40, 40,YELLOW); spriteSR.fillCircle(40, 40, 10,RED); spriteBB.fillCircle(40, 40, 40,BLUE); // Timer Interrupt timer = timerBegin(0, 80, true); // timer0(80MHz) / 80 = 1uSec timerAttachInterrupt(timer, &onTimer, true); timerAlarmWrite(timer, 1000, true); //1mSec timerAlarmEnable(timer); lcd.setFont(&fonts::lgfxJapanGothic_20); // Display lcd.clear(); M5.Buttons.draw(); //lcd.drawRect(0,0,319,239,WHITE); lcd.fillTriangle(12,140,58,120,58,160,GREEN); lcd.fillTriangle(108,140,62,120,62,160,GREEN); lcd.fillTriangle(212,140,258,120,258,160,BLUE); lcd.fillTriangle(308,140,262,120,262,160,BLUE); lcd.setCursor(80,0); lcd.setTextSize(1.5); lcd.setTextColor(YELLOW); lcd.print("METRONOME"); lcd.setTextSize(1); lcd.setTextColor(WHITE); lcd.setCursor(30,20); lcd.print("Beat"); lcd.setCursor(220,20); lcd.print("Speed"); lcd.setCursor(20,50); lcd.setTextSize(2); lcd.printf("1/%d",beat); lcd.fillRect(10,196,80,2,RED); lcd.setCursor(220,50); lcd.setTextSize(2); lcd.print(speed); SpeakInit(); } void loop() { if(sound_fg == true){ adjust = SPEEDADJ + SOUNDADJ; } else { adjust = SPEEDADJ; } if(counter >= 60000/speed-adjust) { /* if you would like to digital out for interval check or LED flush, enable the following comment. LED=(LED == LOW)? HIGH:LOW; digitalWrite(TestPin, LED); */ if(counter2 == 0) { // Start of Beat if(start_fg == true){ // Start on if (beat_en == true){ // Beat enabled if(sound_fg == true) { // Sound on Sound2(); } spriteBB.pushSprite(120,80); } else { if(sound_fg == true) { Sound(); } spriteBY.pushSprite(120,80); } } } else { if(start_fg == true){ if(sound_fg == true) { Sound(); } spriteBY.pushSprite(120,80); } } counter = 0; counter2++; if(counter2 > beat-1)counter2=0; } if((counter > (60000/speed)/2) and (counter < (60000/speed-SPEEDADJ-10))) { spriteSR.pushSprite(120,80); lcd.fillCircle(5,195,2,BLACK); // charm! } M5.update(); if (btn_start.wasReleased() == 1) { // Start button push and released start_fg=(start_fg == false)?true:false; // toggle Start ON and OFF if(start_fg==true) { // If Start ON lcd.fillCircle(5,195,2,BLACK); // charm! lcd.fillRect(120,196,80,2,RED); counter = 0; counter2 = 0; } else { // If Start OFF lcd.fillCircle(5,195,2,BLACK); // charm! lcd.fillRect(120,196,80,2,BLACK); } } if (btn_sound.wasReleased() == 1) { // Sound button push and released sound_fg=(sound_fg == false)?true:false; if(sound_fg==true) { lcd.fillRect(10,196,80,2,RED); } else { lcd.fillRect(10,196,80,2,BLACK); } } if (btn_click.wasReleased() == 1) { Sound(); } if (myBtn_BL.wasReleased() == 1){ // Beat Down button push and released beat--; if (beat < 1) beat = 16; lcd.setCursor(20,50); lcd.setTextSize(2); lcd.fillRect(60,50,90,35,BLACK); lcd.printf("1/%d",beat); } if (myBtn_BR.wasReleased() == 1){ // Beat Up button push and released beat++; if (beat > 16) beat = 1; lcd.setCursor(20,50); lcd.setTextSize(2); lcd.fillRect(60,50,90,35,BLACK); lcd.printf("1/%d",beat); } if (myBtn_SL.wasReleased() == 1){ // Speed Down button push and released speed--; if (speed < 1) speed = 200; lcd.setCursor(220,50); lcd.setTextSize(2); lcd.fillRect(220,50,90,35,BLACK); lcd.printf("%d",speed); } if (myBtn_SR.wasReleased() == 1){ // Speed Up button push and released speed++; if (speed > 200) speed = 1; lcd.setCursor(220,50); lcd.setTextSize(2); lcd.fillRect(220,50,90,35,BLACK); lcd.printf("%d",speed); } if (myBtn_BE.wasReleased() == 1){ // Beat enable button push and released beat_en =(beat_en == false)?true:false; // toggle Beat ON and OFF if(beat_en == true) { lcd.fillRect(30,40,40,2,RED); } else { //lcd.fillCircle(60,230,3,BLACK); lcd.fillRect(30,40,40,2,BLACK); } } }
クリック音のデータ (Click.C)
const unsigned char clk[2448]={ 0xFE,0xFF,0xFC,0xFF,0xF9,0xFF,0x01,0x00,0x0A,0x00,0x06,0x00,0x01,0x00,0xFB,0xFF, 0xFF,0xFF,0xF7,0xFF,0xF0,0xFF,0xF8,0xFF,0x03,0x00,0x06,0x00,0x02,0x00,0x07,0x00, 0x03,0x00,0x0D,0x00,0x21,0x00,0x0F,0x00,0x09,0x00,0x05,0x00,0x08,0x00,0x0F,0x00, 0x6E,0xFF,0x83,0xFF,0xC8,0xFF,0xDF,0xFF,0x47,0x00,0xF2,0xFF,0x95,0xFF,0xBB,0x00, 0x6F,0x01,0x6E,0x00,0xCF,0xFF,0xD1,0xFF,0x65,0x00,0x62,0xFF,0x67,0xFF,0xEB,0xFF, 0x72,0x00,0xA5,0x00,0x86,0xFF,0x4B,0x00,0x81,0x00,0x92,0xFF,0xC0,0xFD,0x8A,0xFE, 0xAA,0x00,0x24,0x00,0x4E,0xFF,0x41,0x00,0x95,0x00,0x70,0x01,0x20,0x02,0xD5,0xFF, 0xC0,0xFF,0xCD,0xFF,0x9D,0xFF,0x0F,0xFF,0x39,0xFE,0x69,0xFF,0x03,0x02,0x34,0x02, 0x4F,0xFE,0xAD,0x03,0xEC,0x0D,0xC3,0xF0,0xB6,0xEF,0xCB,0x03,0x49,0x0D,0xF5,0xFD, 0x48,0x0A,0x41,0x1A,0x59,0x02,0x6A,0xD2,0xE5,0xE6,0x5A,0xFE,0x99,0xE6,0xA6,0xE8, 0xE2,0x05,0x91,0x2E,0x01,0x28,0x01,0x0F,0x04,0x13,0x2D,0x15,0x59,0x06,0x62,0xE7, 0x21,0xDF,0x9E,0xE8,0x13,0xEB,0x8C,0xD7,0x15,0xD9,0x23,0xFA,0x99,0x1C,0x00,0x27, 0xB6,0x24,0x33,0x30,0x59,0x2B,0xEF,0x23,0x86,0x00,0xF3,0xE3,0x91,0xDC,0xEB,0xD2, 0xF5,0xCF,0x3D,0xD4,0x34,0xDF,0x0D,0x00,0x69,0x21,0xF2,0x24,0x18,0x2D,0xC7,0x2B, 0xBE,0x25,0x4F,0x17,0x49,0xF3,0x80,0xD8,0x72,0xD5,0xBD,0xD5,0x7D,0xD4,0x03,0xDC, 0x71,0xE5,0x06,0xF9,0x76,0x17,0x36,0x2E,0xEB,0x33,0xE8,0x30,0xD7,0x27,0xAE,0x10, 0x9C,0xFD,0x32,0xED,0xF4,0xE1,0x1B,0xDC,0xE0,0xD6,0xAF,0xE0,0xA9,0xF3,0x08,0x0D, 0x9F,0x1D,0x2D,0x21,0xDE,0x24,0x27,0x2C,0xBB,0x1A,0xC1,0x01,0x8F,0xF2,0xBE,0xE7, 0xCA,0xE0,0xC4,0xD6,0x5C,0xD7,0x46,0xE9,0xB5,0xF7,0x01,0x03,0x4F,0x17,0xC3,0x18, 0x27,0x0F,0x1D,0x16,0xCB,0x16,0x2C,0x00,0x2B,0xEC,0x87,0xE5,0xC9,0xEF,0x51,0xF5, 0x96,0xEC,0xE5,0xEA,0x74,0xFE,0xAF,0x12,0x11,0x1A,0xB5,0x15,0xD8,0x16,0x80,0x18, 0x83,0x11,0x27,0x04,0xD7,0x02,0xD3,0x04,0x36,0xFB,0xFE,0xF5,0xFB,0xFD,0xDE,0xF7, 0x34,0xFC,0x3C,0x03,0x02,0xFE,0x76,0xFC,0xF3,0xFD,0x8B,0x04,0x80,0x02,0xD5,0xF1, 0x4F,0xF0,0x2A,0xFB,0x27,0xF6,0x2F,0xEF,0x43,0xF5,0xD1,0xFD,0x8B,0xFB,0x67,0xF2, 0x4C,0xF5,0x50,0xFF,0x65,0x04,0xCB,0x02,0x50,0x04,0xF3,0x07,0x59,0x0A,0x4C,0x08, 0xD6,0x07,0xCC,0x0B,0xCF,0x05,0x43,0x03,0x8A,0x03,0xE5,0x08,0x10,0x09,0x5F,0x08, 0x85,0x0B,0x09,0x0D,0x17,0x0F,0x30,0x06,0xCE,0x01,0xE7,0x01,0x8C,0xFD,0xB0,0xF7, 0x7A,0xFB,0xF1,0xF4,0x1D,0xED,0x1B,0xF3,0x42,0xF6,0x31,0xF4,0xC9,0xF6,0x68,0xFA, 0x64,0xFF,0xE3,0xFF,0x34,0xFD,0xED,0xFB,0x8E,0xFD,0xCA,0xF7,0xEF,0xF1,0xF7,0xF4, 0xFA,0xF8,0x29,0xF7,0x2E,0xFA,0xFB,0x02,0x1F,0x0B,0xBA,0x0B,0x7D,0x0E,0x0D,0x0C, 0xFB,0x06,0xB1,0x08,0xEF,0x06,0x1A,0xFA,0x80,0xF1,0x33,0xF2,0xFE,0xF4,0xF7,0xF7, 0x8A,0xF9,0x2D,0xFD,0x48,0x04,0xC4,0x0B,0xB1,0x10,0x00,0x0F,0x4F,0x0D,0xA2,0x0D, 0xF5,0x04,0x25,0xFA,0x15,0xF7,0xC0,0xF7,0xC7,0xF3,0xC3,0xEF,0x56,0xF2,0x75,0xF8, 0x48,0x00,0x8B,0x05,0xF0,0x09,0x2C,0x0E,0x7F,0x0D,0x47,0x0A,0x5D,0x06,0xD3,0xFF, 0xE4,0xFB,0xF8,0xF6,0x02,0xF4,0x2F,0xF1,0xEC,0xEE,0x9A,0xF6,0xB1,0xFC,0xE2,0x00, 0x68,0x07,0xDF,0x0E,0xB4,0x13,0xEA,0x12,0xD8,0x0F,0xBF,0x08,0x09,0xFE,0x47,0xF9, 0x9F,0xF4,0x4E,0xF0,0x24,0xF0,0xF0,0xF0,0x37,0xF9,0x6D,0x00,0xC4,0x07,0x77,0x0F, 0x67,0x11,0xF3,0x0F,0x53,0x0A,0x9B,0x04,0xFB,0xFF,0x71,0xF8,0xB4,0xF1,0x10,0xED, 0xB3,0xED,0x4B,0xF2,0x6D,0xF7,0xC3,0x00,0x1B,0x09,0x58,0x0B,0x23,0x0E,0x0D,0x10, 0x21,0x0E,0x10,0x06,0x85,0xFF,0xCE,0xFA,0xC4,0xF4,0x68,0xF0,0x4F,0xF1,0x40,0xF5, 0xD8,0xFA,0xEA,0x00,0x9C,0x08,0x0B,0x0E,0x64,0x0F,0x75,0x0D,0xD7,0x09,0x84,0x05, 0x4B,0x01,0xE6,0xFA,0xAE,0xF6,0x86,0xF4,0xDD,0xF3,0x24,0xF5,0xCF,0xF8,0x7C,0xFE, 0x16,0x03,0x56,0x07,0xF1,0x0A,0xFD,0x09,0x27,0x04,0x2F,0x02,0xD8,0x01,0xCC,0xFF, 0xFD,0xFA,0xC3,0xF8,0xF8,0xF8,0xCC,0xF7,0x45,0xF7,0x83,0xFB,0xFB,0xFE,0x10,0x00, 0xD2,0x02,0x23,0x07,0xC6,0x07,0xD5,0x04,0x8A,0x04,0x22,0x03,0x97,0xFF,0x15,0xFB, 0x28,0xF9,0x83,0xFB,0x4E,0xFC,0xC0,0xFA,0x9F,0xFB,0x33,0x02,0x0E,0x09,0x6E,0x09, 0xF9,0x08,0x37,0x08,0x72,0x06,0x71,0x07,0xE5,0x05,0x07,0x02,0x5F,0xFC,0x94,0xF8, 0x33,0xF9,0xA6,0xF7,0x79,0xF8,0xF6,0xFB,0x0D,0x03,0xEB,0x05,0x61,0x03,0xF9,0x04, 0x0F,0x07,0x29,0x05,0xD6,0xFD,0x37,0xF7,0x0C,0xF7,0xA2,0xF9,0xA9,0xF8,0xE3,0xF6, 0xA4,0xF7,0x1B,0xFE,0x66,0x04,0xB4,0x04,0x0B,0x04,0xCC,0x06,0x32,0x08,0x7C,0x02, 0xDF,0xFB,0xFA,0xFB,0x10,0xFF,0x0F,0xFF,0x34,0xFA,0x9F,0xFA,0xC7,0x00,0xA7,0x04, 0x28,0x07,0x03,0x07,0xBA,0x06,0xF8,0x06,0x93,0x04,0xE7,0xFF,0x2C,0xFE,0x3E,0xFD, 0x19,0xFC,0x3D,0xFA,0xA5,0xFB,0x82,0xFE,0xE1,0x00,0x45,0x03,0x5A,0x05,0x4B,0x05, 0x0A,0x04,0x1B,0x00,0x64,0xFE,0xEB,0xFD,0xEA,0xFB,0x89,0xF9,0xD8,0xF9,0xBA,0xFB, 0xDD,0xFD,0x08,0xFE,0x40,0xFF,0x34,0x01,0x63,0x02,0xF0,0x02,0x22,0x01,0x98,0x00, 0x62,0xFF,0xA6,0xFD,0x82,0xFC,0xF1,0xFC,0x54,0xFF,0xE7,0x02,0x1E,0x03,0x8C,0x02, 0x34,0x04,0x57,0x07,0x26,0x06,0x81,0x02,0xBA,0xFF,0xD3,0xFF,0x51,0x00,0x78,0xFD, 0x21,0xFC,0x67,0x00,0x19,0x04,0xF1,0x03,0xF6,0x01,0xEF,0x00,0xEB,0x01,0x8B,0x00, 0x9C,0xFC,0x84,0xFA,0xBD,0xFA,0xCE,0xFB,0xA3,0xFC,0x99,0xFE,0x76,0xFF,0x4E,0xFF, 0xA2,0x01,0x45,0x02,0x6F,0x01,0xC5,0xFF,0xB3,0xFD,0x53,0xFD,0x52,0xFD,0x1C,0xFC, 0x7B,0xFC,0x7B,0xFF,0x8E,0x02,0xF7,0x01,0xEB,0x01,0x8B,0x03,0xCB,0x05,0xAF,0x06, 0x13,0x03,0xD8,0xFF,0x4E,0xFF,0xA9,0xFD,0x14,0xFD,0x14,0xFD,0xBB,0xFD,0x71,0x00, 0x63,0x03,0x4F,0x03,0x47,0x03,0x04,0x04,0x58,0x03,0x67,0x01,0x61,0xFF,0x76,0xFD, 0xB6,0xFB,0x0A,0xFD,0x14,0xFF,0x98,0xFE,0x96,0xFF,0x7F,0x00,0x83,0x01,0x18,0x01, 0x25,0x00,0xBF,0xFE,0xA8,0xFF,0x68,0x00,0xCE,0xFD,0x67,0xFC,0x49,0xFD,0xB0,0xFD, 0xFC,0xFE,0xAB,0xFF,0x03,0x00,0x14,0x01,0x8C,0x03,0x49,0x02,0xF8,0xFE,0xD7,0xFF, 0xA9,0x00,0xFD,0xFF,0xC9,0xFF,0xFE,0xFE,0x23,0x01,0x17,0x04,0x43,0x04,0x26,0x03, 0x12,0x03,0x48,0x03,0x41,0x02,0x59,0xFF,0x95,0xFB,0x66,0xFC,0xF5,0xFE,0x91,0xFE, 0x6C,0xFE,0xB2,0x00,0x80,0x03,0x1A,0x03,0x63,0x01,0x82,0x00,0x71,0xFF,0xF9,0xFD, 0x89,0xFC,0x35,0xFC,0x14,0xFC,0x6E,0xFC,0xFE,0xFD,0xCD,0xFF,0x9B,0x00,0xE3,0x01, 0xE6,0x02,0x76,0x02,0x9C,0x03,0xA4,0x03,0xBC,0xFF,0xAB,0xFE,0x35,0xFF,0x9A,0xFE, 0x22,0xFD,0xFD,0xFC,0x7A,0xFF,0xE5,0xFF,0x01,0x01,0x0C,0x03,0xA6,0x05,0x17,0x05, 0xA4,0x01,0xEF,0xFF,0x66,0x00,0xFE,0xFE,0x1C,0xFE,0x1C,0xFE,0x3C,0xFD,0x5E,0xFD, 0x59,0xFE,0xC0,0xFE,0x83,0xFF,0xFA,0x01,0x2D,0x03,0xF7,0x01,0x9E,0x01,0x07,0x01, 0x67,0x00,0x65,0xFF,0xF9,0xFD,0xB6,0xFD,0x21,0xFE,0xBF,0xFD,0x08,0xFE,0x90,0xFF, 0x4B,0x01,0xBD,0x01,0xFD,0x01,0xB4,0x01,0x70,0x01,0xF3,0x01,0xE1,0xFF,0x18,0xFF, 0xB4,0x00,0x45,0xFF,0xF0,0xFD,0xBA,0xFD,0x00,0xFF,0xA4,0xFD,0x98,0xFE,0xC9,0x01, 0x36,0x02,0xFC,0x01,0xDC,0x01,0x43,0x02,0x72,0x03,0x5B,0x02,0x09,0x00,0x54,0xFF, 0x6B,0xFF,0x1D,0xFF,0xB1,0xFC,0x30,0xFC,0x7D,0xFD,0xCA,0xFE,0x9D,0xFF,0x2D,0xFF, 0x70,0x01,0xB4,0x03,0x60,0x02,0xF2,0x00,0x48,0x01,0x36,0x01,0x42,0xFE,0x50,0xFB, 0x9D,0xFA,0x01,0xFB,0xAB,0xFC,0x13,0xFE,0xA1,0xFE,0x5E,0x01,0x52,0x04,0x0A,0x06, 0xF3,0x05,0x62,0x04,0xCB,0x03,0x6A,0x02,0xC8,0xFF,0x1D,0xFC,0x48,0xFB,0x44,0xFC, 0x7C,0xFC,0x0A,0xFE,0xBF,0x00,0x99,0x03,0xD2,0x05,0x69,0x05,0x7C,0x05,0x6D,0x05, 0xDC,0x02,0x50,0xFE,0x38,0xFB,0x05,0xFA,0x1A,0xF9,0x5B,0xF8,0x02,0xFB,0x62,0xFE, 0x80,0x00,0x94,0x01,0x70,0x03,0x9B,0x04,0xE1,0x03,0x7F,0x01,0x60,0x00,0xAD,0xFF, 0x9D,0xFD,0x46,0xFC,0x25,0xFC,0xD3,0xFC,0x18,0xFE,0xEC,0xFF,0x72,0x02,0x1A,0x04, 0xAA,0x03,0x46,0x03,0x81,0x03,0x81,0x02,0xFE,0xFF,0xFA,0xFE,0xE0,0xFE,0x29,0xFE, 0x8E,0xFD,0x28,0xFD,0x81,0xFF,0x30,0x02,0x8F,0x02,0xD5,0x00,0x6E,0x00,0x84,0x01, 0xAC,0x00,0x6F,0xFF,0x49,0xFE,0xD7,0xFE,0x1A,0x00,0x0F,0xFF,0x51,0xFE,0x38,0xFF, 0xCC,0xFF,0x40,0x00,0xD8,0xFF,0x0A,0x00,0xF9,0x00,0x07,0x02,0x4A,0x01,0xED,0xFE, 0xDF,0xFE,0x3A,0xFF,0x75,0xFE,0x77,0xFE,0x69,0xFE,0x2D,0xFF,0xD1,0xFF,0x6C,0x01, 0x73,0x01,0x90,0x01,0x77,0x03,0xFF,0x02,0x73,0x01,0x2B,0x00,0xE2,0xFF,0x20,0x00, 0x34,0xFE,0xBB,0xFC,0x81,0xFD,0x7D,0xFE,0x03,0x00,0x76,0x00,0xB4,0x00,0x8D,0x02, 0x8F,0x03,0x2A,0x03,0xBA,0x00,0x57,0xFF,0x3D,0xFF,0xA0,0xFD,0x5D,0xFC,0x71,0xFB, 0x1F,0xFC,0xEB,0xFD,0x89,0xFE,0x75,0xFF,0x7D,0x01,0xE4,0x02,0xFC,0x02,0x89,0x02, 0x5B,0x02,0x7F,0x00,0x1F,0xFF,0x92,0xFF,0x88,0xFE,0x3B,0xFD,0xB2,0xFD,0x6C,0xFF, 0x4D,0x01,0xE9,0x01,0xF9,0x01,0x43,0x01,0x2B,0x02,0x04,0x02,0xD2,0xFF,0x15,0x00, 0x4A,0x00,0x8F,0xFF,0xD9,0xFE,0x86,0xFE,0x44,0xFF,0xD4,0x00,0xB8,0x01,0xA1,0x00, 0xB0,0xFF,0xA0,0x00,0xB6,0xFF,0xC8,0xFE,0xA8,0xFE,0xE9,0xFD,0xA7,0xFE,0xDE,0xFF, 0x61,0x00,0x1D,0x01,0x5B,0x02,0xED,0x01,0x15,0x00,0x4D,0xFF,0x85,0xFE,0x8A,0xFD, 0x27,0xFD,0xC0,0xFD,0x39,0xFE,0x55,0xFE,0xE9,0xFF,0x8D,0x02,0xAB,0x04,0xCA,0x04, 0xFC,0x02,0x32,0x02,0x3D,0x02,0x30,0x00,0xE0,0xFC,0x85,0xFB,0x81,0xFC,0x21,0xFE, 0x2A,0xFF,0xBC,0xFF,0x22,0x02,0x75,0x04,0xEB,0x04,0x9B,0x03,0x9A,0x02,0x75,0x02, 0x1A,0x01,0x53,0xFD,0x16,0xFA,0x4E,0xFA,0xC5,0xFB,0x55,0xFC,0x0D,0xFD,0x5D,0xFF, 0x5B,0x02,0x80,0x04,0xF6,0x04,0x3C,0x04,0xE8,0x02,0x80,0x01,0x8E,0xFF,0xE0,0xFC, 0x0A,0xFB,0xB6,0xFA,0x04,0xFC,0x2D,0xFD,0x00,0xFE,0x2F,0x00,0x8B,0x03,0xFD,0x05, 0xED,0x04,0x38,0x04,0xDA,0x03,0x97,0x01,0x04,0xFF,0x63,0xFD,0xDF,0xFB,0xEC,0xFA, 0xD0,0xFB,0x87,0xFD,0xA2,0xFE,0xF7,0x00,0x8D,0x03,0x3E,0x04,0xEB,0x03,0x4E,0x03, 0x5F,0x02,0x65,0x01,0x70,0xFF,0xD0,0xFC,0x77,0xFB,0xB4,0xFB,0x10,0xFC,0x5D,0xFD, 0x4F,0xFF,0x1D,0x01,0xB0,0x02,0x94,0x03,0xB1,0x03,0x69,0x03,0xE9,0x02,0xF9,0x00, 0x2E,0xFE,0x0B,0xFD,0x2C,0xFD,0xFF,0xFC,0x66,0xFC,0x67,0xFD,0x75,0xFF,0x7B,0x01, 0x37,0x03,0x9F,0x03,0xA5,0x03,0xC4,0x03,0xCB,0x01,0xB9,0xFF,0xC9,0xFE,0x37,0xFE, 0x48,0xFD,0x8D,0xFC,0x17,0xFD,0x68,0xFE,0x10,0x00,0xB7,0x00,0x5D,0x01,0x3C,0x03, 0x5C,0x03,0x13,0x02,0x13,0x01,0xE7,0xFF,0xF7,0xFE,0xEC,0xFD,0x1B,0xFD,0xF6,0xFC, 0x21,0xFE,0x90,0xFF,0x90,0xFF,0x35,0x00,0x89,0x01,0x07,0x02,0x7B,0x02,0x3B,0x02, 0xF2,0x01,0xD2,0x00,0x6F,0xFF,0x5D,0xFF,0xFE,0xFE,0xAF,0xFD,0x82,0xFD,0x7F,0xFE, 0xD3,0xFF,0x83,0xFF,0x63,0xFF,0x7B,0x01,0x2E,0x03,0x81,0x02,0x74,0x00,0x95,0x00, 0x4E,0x01,0x77,0x00,0x6D,0xFE,0xEA,0xFC,0xF4,0xFD,0xB1,0xFE,0x8C,0xFD,0x05,0xFE, 0x3F,0x00,0xC1,0x01,0x33,0x02,0x9E,0x01,0xF5,0x01,0xAF,0x02,0xA8,0x01,0xD0,0xFF, 0x4C,0xFE,0xE9,0xFD,0xD9,0xFD,0xE5,0xFD,0x76,0xFD,0x65,0xFE,0xBC,0x00,0xFA,0x01, 0xA9,0x01,0x78,0x01,0x47,0x02,0x4E,0x02,0xAD,0x00,0xB3,0xFF,0x47,0xFF,0xF9,0xFE, 0x80,0xFE,0xBD,0xFD,0x21,0xFE,0x10,0xFF,0xF4,0xFF,0x67,0x00,0xBF,0x00,0x9B,0x01, 0x8B,0x01,0x16,0x01,0x82,0x00,0x4F,0xFF,0x0B,0xFF,0x04,0xFF,0xFA,0xFE,0xF3,0xFE, 0xFC,0xFE,0xD9,0xFF,0x7B,0x00,0x47,0x00,0x10,0x00,0x25,0x00,0x53,0x01,0xAC,0x01, 0xEB,0x00,0x90,0xFF,0x18,0xFF,0xA1,0xFF,0x62,0xFF,0xD8,0xFE,0x50,0xFF,0x5D,0x00, 0x89,0x00,0xA1,0x00,0x02,0x01,0x0F,0x00,0x4B,0x00,0x86,0x00,0xC1,0xFF,0xA1,0xFF, 0xBE,0xFF,0x13,0xFF,0xB6,0xFE,0x06,0xFF,0x2C,0xFF,0x7D,0xFF,0xC9,0x00,0xAF,0x00, 0x4A,0x00,0xCD,0x00,0x86,0x00,0x42,0x00,0x3D,0x00,0xB8,0xFF,0x33,0xFF,0x09,0xFF, 0xF9,0xFE,0xC1,0xFE,0xDE,0xFF,0x69,0x01,0x06,0x01,0xCB,0x00,0x61,0x00,0x70,0x00, 0x33,0x01,0xBD,0x00,0xA6,0xFF,0x18,0xFF,0x44,0xFF,0x67,0xFF,0xBB,0xFE,0x63,0xFF, 0x15,0x00,0xC9,0xFF,0x2B,0x00,0x5C,0x00,0xC4,0x00,0xDF,0x00,0x13,0x00,0x07,0xFF, 0xD6,0xFE,0xEE,0xFF,0xFD,0xFF,0x4D,0xFF,0x2E,0x00,0x5D,0x00,0x0E,0x00,0x52,0x00, 0xDE,0x00,0xA2,0x00,0x82,0xFF,0x3E,0xFF,0x56,0xFF,0x9E,0xFF,0xF7,0xFF,0xD3,0xFF, 0x09,0x00,0xA4,0x00,0xAA,0x00,0x8A,0x00,0x68,0x00,0x5C,0x00,0x0F,0x00,0x5F,0xFF, 0xE3,0xFE,0x53,0xFF,0xFA,0xFF,0xAB,0xFF,0x04,0xFF,0x8D,0xFF,0x12,0x00,0x42,0x00, 0x3F,0x00,0xFB,0xFF,0x08,0x00,0x25,0x00,0x30,0x00,0x6E,0x00,0x3C,0x00,0xB3,0xFF, 0x4D,0xFF,0x06,0xFF,0x02,0xFF,0x6F,0xFF,0x0E,0x00,0x8D,0x00,0x61,0x00,0x6B,0x00, 0x8E,0x00,0xBB,0x00,0x9F,0x00,0x06,0x00,0xB1,0xFF,0x8C,0xFF,0x56,0xFF,0xEE,0xFE, 0xFA,0xFE,0xED,0xFF,0x3F,0x00,0x38,0x00,0xD7,0x00,0x68,0x01,0x6B,0x01,0xDB,0x00, 0x05,0x00,0x8A,0xFF,0x6D,0xFF,0x43,0xFF,0xED,0xFE,0xCD,0xFE,0xD5,0xFE,0x67,0xFF, 0x73,0x00,0x0E,0x01,0xF5,0x00,0x55,0x01,0x2C,0x01,0x25,0x00,0xB4,0xFF,0x9C,0xFF, 0x41,0xFF,0x3F,0xFE,0x1A,0xFE,0x87,0xFE,0x09,0xFF,0x0F,0x00,0xD7,0x00,0x30,0x01, 0x7F,0x01,0x4D,0x01,0xDC,0x00,0xDA,0x00,0x53,0x00,0x36,0xFF,0x97,0xFE,0x97,0xFE, 0xDF,0xFE,0xAD,0xFE,0x02,0xFF,0xC7,0xFF,0x7F,0x00,0x4B,0x01,0x21,0x01,0x28,0x01, 0x4F,0x01,0x33,0x00,0xFC,0xFF,0x7C,0xFF,0x0E,0xFF,0x8C,0xFF,0x75,0xFF,0x88,0xFF, 0xD7,0xFF,0x04,0x00,0x1E,0x00,0x99,0xFF,0x04,0x00,0x0F,0x00,0x19,0x00,0x65,0x00, 0xE5,0xFF,0xD0,0xFF,0x3B,0x00,0x4F,0x00,0x19,0x00,0xDB,0xFF,0x17,0x00,0xE8,0xFF, 0x7C,0xFF,0xA0,0xFF,0xD0,0xFF,0xB9,0xFF,0xCC,0xFF,0x26,0x00,0x49,0x00,0x05,0x00, 0x1B,0x00,0x8C,0x00,0x49,0x00,0xDC,0xFF,0xAD,0xFF,0xEA,0xFF,0x0D,0x00,0x25,0xFF, 0xB1,0xFE,0x77,0xFF,0xFB,0xFF,0x1A,0x00,0xFF,0xFF,0x68,0x00,0xEC,0x00,0xDF,0x00, 0x73,0x00,0x08,0x00,0x16,0x00,0xF8,0xFF,0x97,0xFF,0x68,0xFF,0x4D,0xFF,0xA5,0xFF, 0x09,0x00,0xFD,0xFF,0xFD,0xFF,0x27,0x00,0x42,0x00,0x25,0x00,0x0C,0x00,0x06,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 };
チーン音 (Ding.C)
const unsigned char cheen[2440]={ 0x36,0xFE,0x42,0xFF,0xEA,0x01,0xBD,0xFF,0x2D,0xFE,0xFD,0x01,0x3B,0xFF,0x63,0xFA, 0xB7,0xFD,0x2C,0x05,0xC3,0x01,0x57,0xFE,0xA2,0xFF,0x35,0x01,0x72,0xFC,0x50,0xFF, 0xD6,0x01,0xC3,0xFF,0xDB,0xFE,0xC2,0x02,0x45,0x04,0x3D,0x01,0xC8,0xFF,0xE2,0xFE, 0xBD,0xFD,0x40,0xFF,0xA6,0x01,0xD4,0x00,0x9B,0xFE,0xD6,0x01,0x62,0x00,0x63,0xFD, 0x5E,0xFF,0xEE,0x00,0x0F,0x00,0xDB,0xFD,0xA6,0x00,0xB9,0x00,0xDD,0xFC,0xDD,0xFF, 0xB0,0x01,0xB7,0xFE,0xEE,0xFC,0xED,0xFE,0xEE,0x00,0x77,0xFF,0xFA,0x00,0xBA,0x03, 0x3B,0x00,0x9C,0xFF,0x5C,0x02,0xD6,0x00,0x82,0x00,0x1C,0x04,0xF7,0x03,0x50,0xFF, 0xA2,0xFE,0x22,0x01,0x0E,0xFE,0xD0,0xF9,0x2D,0x05,0xA8,0xFE,0x2F,0xFC,0xD9,0x01, 0xC3,0x01,0x57,0x01,0x81,0xFE,0xEC,0x04,0x79,0x00,0xFF,0xFF,0x85,0x01,0xF9,0xFF, 0x2C,0xFC,0x95,0xFF,0x3D,0x00,0x4D,0xFD,0x29,0xFC,0x7F,0x00,0x16,0x01,0x2F,0xFE, 0x47,0x01,0x0D,0x00,0x12,0xFE,0xE1,0x02,0xB6,0x01,0xDB,0x00,0x2E,0xFC,0x29,0x02, 0xCD,0xFF,0x74,0xFE,0xD9,0xFE,0xD5,0xFD,0x79,0xFC,0x29,0xFD,0x85,0x01,0x17,0xFF, 0xBD,0xFD,0xAE,0x03,0xC3,0x03,0x89,0x01,0x28,0x00,0xEA,0x02,0xB8,0xFF,0x21,0xFC, 0x5C,0x00,0xB0,0x00,0xC6,0xFE,0x62,0x01,0xD0,0x02,0xCE,0xFE,0x63,0x01,0xB1,0x01, 0xC8,0x02,0x1E,0x00,0xDB,0xFE,0x6B,0xFE,0xEF,0xFD,0x54,0x00,0x62,0x01,0x77,0xFF, 0x85,0x00,0x87,0xFE,0xD9,0x00,0x6F,0x01,0x82,0xFF,0x0D,0x02,0x5A,0x05,0xE5,0xFF, 0x78,0x00,0x6C,0xFD,0x92,0xFE,0x48,0x00,0x61,0xFF,0xC9,0xFE,0xFD,0xFE,0x06,0x03, 0xC6,0xFE,0xC4,0xFD,0x8A,0xFE,0x18,0xFD,0x9B,0xFD,0xCB,0xFE,0x67,0xFD,0x41,0xFA, 0x8E,0xFD,0xDA,0xFF,0x4B,0x01,0x7E,0x02,0x6D,0x00,0x75,0xFB,0x72,0xFF,0xFB,0x09, 0x69,0x06,0xDE,0xF6,0x68,0xF3,0x0E,0xF6,0x57,0x00,0xCA,0x1F,0x14,0x19,0xC4,0xF6, 0xD6,0xED,0xAB,0x06,0x04,0x1A,0x95,0x07,0x55,0x21,0xA6,0x01,0x3C,0xD6,0x6F,0xE0, 0x09,0x00,0xCB,0x01,0x16,0xFF,0x92,0x1B,0x3E,0x02,0xAC,0xF6,0xA0,0x1D,0x7C,0x14, 0xEC,0x09,0xE4,0xD8,0x32,0xD6,0x0D,0xC2,0xFC,0xFE,0x9B,0x4F,0xD1,0xF8,0xFA,0x82, 0x58,0xD3,0x48,0x39,0x96,0x21,0xD9,0x05,0xEA,0x55,0xD1,0x54,0x8D,0x0D,0x82,0x12, 0xE9,0x2E,0xAA,0x07,0xCE,0xE5,0x62,0xE1,0xC6,0xF0,0xF9,0x1D,0x1C,0xFF,0xF0,0xC9, 0x0D,0xDA,0x38,0x22,0x79,0x08,0x85,0xDA,0x9C,0x18,0x45,0xFA,0xCE,0x9E,0x9A,0xCB, 0x4B,0x51,0x3C,0x28,0x24,0xE6,0x76,0xF8,0x1D,0x15,0x08,0xBE,0x9D,0xF5,0x1E,0x21, 0x38,0xFA,0x73,0xF1,0xBC,0x36,0x63,0x47,0xEB,0x11,0x5D,0xF8,0x18,0xE5,0x6E,0xDD, 0x84,0xFE,0x42,0x1B,0xCB,0x01,0xAF,0xF9,0x57,0x17,0x48,0xEF,0x08,0xDF,0x8C,0x01, 0xFC,0x08,0x19,0xEC,0x87,0xF2,0xD4,0x0C,0xBC,0xE4,0x49,0xE6,0x0A,0x13,0xD3,0xFB, 0xDB,0xD0,0xEE,0xDE,0x64,0x05,0x29,0xFE,0xC4,0x0C,0x4E,0x3B,0x05,0x10,0x03,0xFA, 0x7C,0x27,0xCC,0x13,0x7E,0x0B,0xF4,0x49,0x64,0x4B,0x43,0xF4,0xF7,0xE5,0xF2,0x14, 0x8C,0xD5,0xD5,0x9A,0x2B,0x55,0x35,0xE1,0xCB,0xC6,0xA7,0x22,0x88,0x20,0xE9,0x0B, 0x78,0x01,0xA0,0x45,0xBB,0x06,0x98,0x09,0xE5,0x13,0xF0,0xE3,0xAE,0xD0,0xC8,0xFD, 0x87,0xEC,0xDC,0xC2,0xD9,0xDF,0xAF,0x0F,0xF0,0xF4,0x7B,0xFE,0xA6,0x09,0xEC,0xE8, 0x00,0x16,0xD0,0x27,0xF7,0x14,0x25,0xCE,0x8D,0x0C,0x79,0x07,0x3C,0xE8,0x4A,0xE8, 0x4E,0xD9,0x35,0xC0,0x82,0xC8,0x72,0x16,0x82,0xF1,0x20,0xD6,0x12,0x45,0x33,0x46, 0x3F,0x1B,0xB0,0x06,0x2A,0x33,0x3F,0xF3,0xE3,0xC1,0x3E,0x07,0x6D,0x07,0x12,0xF3, 0x00,0x20,0x5D,0x21,0x8F,0xF6,0xAF,0x1C,0xEA,0x26,0xE8,0x24,0xD5,0xF8,0xC4,0xE6, 0xFF,0xDD,0x65,0xEE,0x5F,0x10,0xC9,0x07,0xF7,0x01,0x5A,0xF3,0x60,0xFD,0x53,0x14, 0x79,0xF2,0x8F,0x04,0x71,0x32,0x24,0x0E,0x0E,0xFE,0x31,0xD5,0x08,0xE8,0x02,0x09, 0x90,0x0C,0x51,0xEB,0x5B,0xEA,0xBA,0x3C,0x9B,0x23,0xBE,0xC4,0xC9,0xC7,0x2C,0xF7, 0x7C,0xE1,0x2B,0xE0,0xFB,0x04,0xF5,0xE6,0x0A,0xE9,0x04,0xE5,0x47,0x14,0x03,0x26, 0x8A,0x10,0xDF,0x15,0x98,0xF9,0x1F,0x04,0xE9,0x0F,0xD9,0x08,0x19,0x07,0x0D,0x00, 0x25,0xFD,0x2F,0xF3,0x8F,0x05,0xE7,0x24,0x10,0xFB,0xA0,0xE7,0xD1,0x00,0xB9,0x23, 0x45,0x2A,0x04,0x0A,0xBF,0x04,0x7A,0xE6,0x7D,0xDD,0x85,0xF0,0x5E,0x07,0x62,0x0F, 0x2A,0x11,0xF7,0xFA,0x31,0x10,0xBF,0x12,0x39,0x2D,0x13,0x01,0x9E,0xD0,0xED,0xDD, 0x6D,0xF7,0x1C,0xE1,0xC6,0xFB,0x7E,0xE3,0x10,0xEA,0xB7,0xF0,0x2E,0xEC,0x81,0x02, 0x7E,0x23,0x1D,0x1D,0xA5,0x1A,0x87,0x00,0xA3,0xF6,0x3A,0xF4,0xCC,0x0F,0x10,0x16, 0xFE,0x02,0x42,0x05,0xA3,0x0B,0x69,0x10,0xDE,0xF5,0xD5,0xE6,0xD6,0xED,0x8F,0xE9, 0x27,0xF3,0xF1,0x10,0xA6,0x12,0xE0,0x07,0xD8,0x0D,0x0E,0x0D,0x34,0xF4,0xEA,0x0F, 0xD1,0x1F,0xDA,0x06,0x27,0xFF,0x7B,0x02,0x4A,0xED,0x1D,0xE8,0x58,0xEF,0x07,0xFD, 0xEF,0xED,0x30,0x1B,0x6C,0x0D,0x05,0x09,0x3E,0xFA,0xE6,0xF2,0xEE,0xE4,0x4E,0xE9, 0x8A,0x12,0xA2,0x05,0xE7,0xF0,0xFD,0xF9,0x14,0xFF,0x94,0xFF,0x8F,0x08,0x3F,0x06, 0x50,0x04,0xD5,0x00,0xF8,0xF6,0x9D,0xED,0x03,0xFF,0xE7,0x15,0xD3,0x05,0x81,0xF2, 0x7B,0xF3,0x57,0x13,0xB6,0x15,0xB2,0x12,0x6B,0x0C,0xD2,0x01,0x46,0xFE,0xE3,0xF9, 0xD7,0x0F,0xAD,0xF8,0x8F,0xF0,0x80,0xFB,0xF2,0x0D,0x31,0xEE,0x88,0xF9,0x97,0x0B, 0x25,0xED,0x3F,0xF7,0x9D,0xF6,0xBA,0x08,0x83,0x06,0x35,0x16,0xD4,0xF7,0xB1,0xF7, 0x84,0x0A,0x92,0x13,0xC4,0x04,0x12,0xFE,0xD7,0xFD,0xC8,0xED,0xD2,0xF7,0xBB,0xF2, 0xA4,0xF7,0xCF,0xFE,0x5A,0xFE,0x15,0xEC,0x46,0xF3,0xA6,0x11,0xD3,0x0B,0xA4,0xFD, 0x38,0xF6,0xB6,0xFA,0xDB,0xFC,0xB7,0x06,0xB7,0x05,0x0D,0x04,0x48,0x05,0x3E,0xF9, 0x4E,0xEF,0x67,0x01,0xC8,0x13,0x11,0x08,0xF1,0x07,0x76,0xF7,0x66,0x15,0xDC,0x01, 0x28,0xF5,0xF9,0xFD,0x0B,0xF6,0x1A,0x0A,0xFA,0xFF,0x5C,0x27,0x2C,0xFC,0x5B,0xFF, 0xCF,0x02,0x7C,0x10,0x62,0x08,0x57,0x08,0x02,0x10,0x4E,0xEB,0x84,0xFF,0xB5,0xF7, 0x19,0xF3,0x0F,0xF8,0x36,0x05,0xA6,0xEE,0x45,0xF6,0x54,0x0A,0xCA,0x05,0x06,0xF8, 0xE6,0xF4,0x65,0xF7,0x10,0xFF,0x4E,0x14,0x2D,0x07,0x13,0x02,0x59,0x01,0x85,0xFC, 0x82,0xE3,0x19,0xF9,0xD9,0x00,0x44,0xFB,0x66,0x01,0x6F,0xF1,0x5E,0x09,0x93,0xF2, 0x9C,0x0E,0x5F,0xFD,0x79,0x13,0x85,0xF6,0xC3,0xFA,0xCF,0x07,0x0E,0x06,0x79,0xF8, 0xA3,0xF6,0x8A,0x08,0x35,0xED,0xF0,0x09,0x0C,0x0D,0xCC,0xFF,0x2C,0x01,0x50,0x0E, 0xEE,0x10,0xF7,0xFC,0x5F,0x0C,0x5C,0x00,0x11,0xFC,0xBB,0x07,0x1A,0x09,0x5D,0xF8, 0xE2,0xFF,0x06,0xF9,0xC7,0xF8,0xC5,0x01,0xFD,0xFF,0xF4,0xF6,0x18,0xFD,0x42,0x09, 0x7E,0xF3,0xFC,0xFE,0x19,0xF9,0x8A,0xFF,0xB1,0xF6,0x2C,0x04,0xB7,0xF7,0x83,0x09, 0xE6,0x0E,0x85,0xEE,0x53,0x00,0xAE,0xFE,0xA5,0x0C,0x48,0xFD,0x34,0x0A,0xC5,0x01, 0xB1,0x05,0x3D,0x0B,0x53,0xF8,0x38,0x02,0xCB,0x08,0xB0,0x05,0xA2,0xF9,0xAF,0x08, 0x59,0xFD,0xEC,0xF4,0xC2,0xF5,0x72,0xF0,0x3D,0xEC,0x3C,0xF6,0xD0,0x06,0x36,0xF9, 0xBE,0x05,0xDF,0x06,0x7F,0xFC,0xA3,0xF7,0x35,0x02,0x96,0xFC,0x52,0x07,0x0B,0x08, 0x88,0xFA,0x65,0xFB,0x60,0xFE,0xC9,0xFE,0x75,0xFA,0x5B,0x0E,0xA1,0x02,0xE2,0x00, 0xE2,0x04,0x53,0x00,0xFC,0x06,0xDF,0x02,0xE5,0x01,0x6B,0xEF,0xE2,0x1C,0x63,0x06, 0x0A,0xFA,0xDB,0x02,0x9E,0x07,0xDF,0xF3,0xB0,0xFC,0xDC,0x0B,0x7C,0x00,0xAC,0x0F, 0x60,0xFC,0xB5,0xF3,0x1F,0x05,0x47,0x12,0xA1,0xFD,0xCE,0xFD,0xFA,0x11,0xDC,0x01, 0xDF,0xFD,0x98,0x05,0xFB,0xF8,0x94,0xF2,0x3E,0x03,0xB7,0xF7,0xB7,0xF6,0x59,0x00, 0x4F,0xFD,0x85,0xF4,0x7A,0xFF,0x83,0xFD,0x63,0xF9,0x3F,0x08,0x5D,0x03,0x01,0xF5, 0xD0,0xF4,0xF8,0x13,0x7F,0x01,0xF7,0x01,0x6B,0xFB,0x52,0xF2,0xCA,0x0C,0x8B,0xF8, 0xF5,0xF7,0x00,0xF5,0x52,0x0A,0x2B,0xF6,0x49,0xF9,0x24,0x0E,0xF0,0x00,0x0A,0x02, 0x4B,0x03,0xCC,0x02,0x65,0xFF,0x91,0x0F,0xC5,0xFA,0xA7,0xF7,0xC3,0x02,0xC8,0xFC, 0x3B,0xFA,0xEF,0x07,0xF1,0x04,0x46,0xF9,0x43,0x08,0x4A,0x04,0x25,0xFC,0xF1,0x04, 0xC4,0x08,0x58,0xF7,0x0E,0x04,0x28,0x04,0xA6,0xFB,0xA5,0xFF,0x02,0x07,0x6D,0x00, 0x68,0xF5,0xF6,0x13,0x6D,0xF7,0x95,0xFF,0x59,0xFD,0xE3,0xF9,0x4A,0xF8,0x46,0xFF, 0x49,0xFE,0xD3,0xF5,0xC4,0x0D,0x6C,0xF6,0xEE,0xFA,0xF7,0x00,0xCD,0xFF,0x26,0xF7, 0x02,0x07,0x54,0x07,0x49,0xF7,0x5B,0x08,0xC6,0x03,0x6D,0xF8,0x0F,0xFF,0x29,0x0B, 0x00,0xFF,0xE7,0x02,0xE8,0x06,0x27,0xFA,0x35,0xFE,0xA5,0x05,0xF0,0xFA,0x73,0xFE, 0x19,0x08,0xF4,0xF6,0xA6,0xFB,0x6C,0x03,0xC9,0x03,0x1D,0xF9,0x24,0x08,0xAB,0xFF, 0x7E,0x01,0x02,0x0C,0x35,0xFC,0xEB,0xFD,0x73,0xFD,0x53,0x04,0x37,0xEE,0xF2,0x0C, 0x42,0x06,0x3B,0xFA,0x44,0x02,0x84,0xFE,0x0C,0x02,0xBC,0x00,0xCB,0x0B,0x3A,0xFB, 0x3C,0x05,0x3B,0x04,0x83,0xF6,0x07,0xFD,0x44,0x02,0xE1,0xFA,0x45,0xFD,0x9C,0x08, 0x7B,0xFA,0x48,0xFD,0x76,0x01,0x16,0xFE,0x99,0xFC,0xA1,0x06,0x75,0xFA,0xEC,0xFD, 0xBA,0x09,0x25,0xFD,0x56,0xF8,0x53,0x01,0xC3,0x01,0xD4,0xF6,0x8A,0x07,0x9D,0xFB, 0xD7,0xFB,0xEA,0x01,0x2F,0xFE,0xC3,0xF4,0xEE,0x01,0x6C,0x12,0xD0,0xF0,0x87,0x0A, 0x01,0x04,0x3D,0xFD,0x4A,0xFE,0x2F,0x07,0x95,0xFE,0x4B,0xFA,0x02,0x0C,0xA0,0xF7, 0xA7,0xFE,0xBA,0x07,0xD5,0xFF,0x14,0xFA,0xEE,0x08,0x2F,0x03,0xC1,0xF7,0x6C,0x05, 0x1E,0x00,0xE7,0xFD,0x0E,0x04,0x82,0x03,0x63,0xF9,0x4E,0x06,0xBA,0x00,0xC1,0xF8, 0x78,0x00,0xD9,0x05,0x83,0xF8,0x99,0xFC,0x0F,0x02,0x50,0xF7,0xE4,0x03,0xA1,0x02, 0xE2,0xFE,0x92,0xFC,0x26,0x09,0xFC,0xF8,0x60,0xFE,0x19,0x07,0x70,0xF9,0x16,0xFE, 0x70,0x02,0xEE,0x04,0x7A,0xF6,0x9F,0x0C,0x46,0xFC,0x07,0xFA,0x7D,0x07,0xD8,0x00, 0x85,0xFE,0xEB,0x01,0x36,0x07,0xE7,0xF5,0x36,0x04,0xE4,0x02,0x22,0xFC,0x8C,0x03, 0x4E,0x04,0xCC,0xFA,0xF3,0xFF,0xD5,0x06,0xF1,0xFA,0xF0,0xFE,0xC3,0x02,0x8A,0xFD, 0x14,0xFD,0xFE,0x06,0x65,0xFA,0x3E,0xFF,0x0F,0x02,0x59,0xFB,0x7E,0xFB,0x76,0x02, 0xF3,0xFF,0x76,0xF7,0xF6,0x09,0x4E,0xF9,0x43,0xFD,0x73,0x00,0xF9,0xFE,0x81,0xF8, 0xD5,0x03,0xF8,0x06,0xFD,0xF3,0xB2,0x0A,0x3E,0x00,0x04,0xFD,0x3D,0x00,0xC7,0x08, 0xEA,0xFA,0x49,0xFE,0x64,0x08,0xFD,0xF5,0x25,0x01,0xBF,0x02,0xFB,0x00,0x1D,0xFE, 0xEE,0x08,0x9B,0xFD,0xB9,0xFC,0x14,0x06,0x7E,0xFE,0xCF,0xFE,0x5D,0x06,0x6C,0x02, 0xD6,0xFB,0xA2,0x05,0x65,0xFF,0x40,0xFF,0x18,0x02,0xBC,0x01,0xC2,0xFA,0xCA,0x06, 0xD2,0xFF,0x18,0xF8,0xF4,0x05,0x83,0xFE,0xE7,0xFB,0x5C,0xFD,0xA4,0x07,0x65,0xF5, 0x35,0x02,0xBC,0x01,0xBD,0xF4,0xFC,0xFE,0xD4,0x00,0x6C,0xFD,0xC8,0xF7,0x56,0x0B, 0x84,0xF7,0xD8,0xFC,0x13,0x05,0xEF,0xFC,0x2F,0xFC,0x5E,0x03,0x32,0x02,0xB5,0xF9, 0xD0,0x06,0xE2,0xFC,0x0A,0xFB,0x35,0x03,0x85,0x03,0x4B,0xFC,0x0A,0x05,0x9B,0x03, 0x98,0xFB,0x3B,0x03,0x2F,0x04,0xD4,0xFD,0x41,0x02,0xE0,0x06,0xD7,0xFA,0x03,0x04, 0xD9,0x01,0x2E,0xFD,0xB1,0xFE,0xA8,0x05,0x11,0xFD,0x4D,0xFD,0x50,0x0C,0x1C,0xF9, 0xBA,0x01,0x79,0x02,0x54,0x01,0x49,0xF9,0x05,0x0A,0x23,0x01,0xE7,0xF6,0xC1,0x0B, 0x89,0xFC,0x0F,0xFD,0xA1,0xFF,0xB0,0x05,0x8A,0xF7,0x29,0x03,0x28,0x04,0xE9,0xF8, 0xA8,0x02,0xA9,0x00,0x21,0xFD,0xD8,0xFD,0x88,0x05,0xD4,0xFA,0xDC,0xFF,0xF5,0x02, 0x09,0xFB,0x57,0xFB,0x04,0x02,0xBA,0xFC,0xBA,0xFD,0x32,0x04,0x96,0xFC,0xD2,0xFF, 0xE4,0x02,0x19,0x00,0x63,0xF9,0x65,0x08,0x51,0xFF,0xAE,0xFD,0xEB,0x05,0xE7,0xFF, 0xC4,0xFD,0xC8,0x00,0x61,0x06,0x5E,0xF5,0xF0,0x08,0x12,0x02,0xDA,0xFA,0xB7,0x02, 0x35,0x03,0x14,0xFD,0x77,0xFD,0x87,0x0A,0xC5,0xF9,0x0D,0x03,0x9F,0x04,0x1C,0xFF, 0x8B,0xFF,0x47,0x05,0x0A,0x00,0xAD,0xFC,0x27,0x06,0xC4,0xFD,0xB1,0xFD,0xF1,0x01, 0xE3,0xFF,0x6D,0xFC,0xB0,0x03,0x5D,0xFE,0x14,0xFD,0xF7,0x01,0x5C,0x00,0x83,0xFC, 0xBA,0x01,0x66,0x01,0x30,0xFA,0x60,0x05,0x10,0x00,0x5A,0xFE,0x91,0xFE,0x6A,0x03, 0x1C,0xF9,0xCF,0x00,0x3E,0x06,0x3C,0xF7,0x4E,0x03,0x8B,0x00,0x87,0xFD,0x03,0xFA, 0xDC,0x07,0xA6,0xFB,0xB7,0xFB,0xE8,0x06,0x7F,0xFB,0xE0,0xFE,0x4D,0x01,0x69,0x02, 0x95,0xF9,0x06,0x05,0x43,0x00,0x87,0xFC,0x5E,0x04,0x0A,0x01,0x8D,0xFE,0x8B,0x01, 0xBC,0x02,0x75,0xFB,0x6D,0x03,0x0D,0x02,0x29,0xFE,0x23,0x01,0xAB,0x03,0xCA,0xFB, 0x10,0x02,0x8F,0x04,0x1B,0xFD,0x86,0x02,0xB1,0x03,0x4D,0x00,0x1B,0xFD,0x3C,0x08, 0xB2,0xFA,0x75,0x00,0x30,0x05,0xE8,0xFD,0x90,0xFD,0xA1,0x03,0x04,0x03,0x9C,0xF4, 0x1A,0x08,0x45,0xFD,0x1C,0xFC,0xDC,0x01,0x1C,0x01,0x36,0xFC,0x94,0xFF,0x70,0x04, 0xA8,0xF7,0xE7,0x02,0x44,0x01,0x08,0xFD,0x84,0xFF,0x64,0x03,0xF1,0xFC,0x40,0xFE, 0x61,0x03,0xC4,0xFB,0xDC,0xFE,0xB0,0x02,0x84,0xFE,0xA0,0xFD,0x97,0x03,0xE2,0xFC, 0x40,0xFF,0x09,0x03,0x5D,0xFF,0xFD,0xFB,0x8E,0x03,0xB1,0xFF,0x98,0xFB,0x8C,0x05, 0x52,0xFD,0x1A,0xFF,0xBA,0x00,0xD2,0x03,0x3E,0xF9,0x63,0x05,0x48,0x04,0x77,0xF8, 0x1D,0x05,0xBF,0x01,0x7A,0xFF,0x05,0xFE,0xE2,0x07,0xAA,0xFB,0x4E,0x00,0x45,0x05, 0x5F,0xFC,0x5D,0x00,0xB9,0x02,0x76,0x01,0x8F,0xFC,0x5E,0x05,0x0B,0xFE,0x2C,0xFE, 0xED,0x02,0xA8,0xFF,0xE7,0xFD,0x86,0x02,0x72,0x00,0xBE,0xFC,0x66,0x02,0xDC,0xFE, 0x87,0xFD,0x84,0x00,0xE4,0x01,0x6F,0xFB,0x47,0x03,0x16,0x00,0x70,0xFC,0xBC,0x00, 0xFA,0xFF,0xA5,0xFD,0x29,0xFF,0xFA,0x05,0x76,0xF8,0x97,0x02,0xD3,0x01,0x3C,0xFD, 0x6E,0xFE,0xA4,0x03,0x63,0xFF,0xD9,0xF9,0x26,0x08,0xE6,0xFA,0xF6,0xFE,0xF1,0x01, 0xB3,0xFF,0xC6,0xFC,0x29,0x02,0x5C,0x02,0x1E,0xFB,0xE1,0x03,0x7F,0xFF,0x63,0xFE, 0x98,0x00,0x20,0x02,0x18,0xFD,0x22,0x02,0x0D,0x02,0x09,0xFD,0x91,0x01,0xD6,0x01, 0x6D,0xFD,0xE9,0xFF,0x80,0x03,0x30,0xFD,0xB7,0x01,0xEA,0x01,0x74,0xFE,0x7B,0xFE, 0xDF,0x04,0x3F,0xFD,0xC6,0xFE,0xA8,0x05,0x0B,0xFC,0xB1,0xFF,0x81,0x01,0xD8,0x01, 0xF6,0xF9,0xAB,0x06,0xA6,0xFF,0x6C,0xFA,0x19,0x05,0x1B,0xFF,0x18,0xFE,0xEC,0xFF, 0x5F,0x03,0xA4,0xFB,0x69,0x01,0x36,0x01,0x0E,0xFE,0x3A,0x00,0x7A,0x00,0x6F,0xFF, 0x7E,0xFF,0xAF,0x00,0x9C,0xFF,0xFE,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};