midi-breadboard-instrument/main/mmcontroller.c

2583 lines
234 KiB
C

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <stdbool.h>
#include <stdint.h>
#include <stddef.h>
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "driver/gpio.h"
#include "driver/ledc.h"
#include "driver/pulse_cnt.h"
#include "driver/spi_master.h"
// ==========================================
// 1. HARDWARE DEFINITIONS
// ==========================================
#define ROTARY_SW_PIN 16
#define PASSIVE_BUZZER_PIN 25
#define ACTIVE_BUZZER_1_PIN 26
#define ACTIVE_BUZZER_2_PIN 27
#define LED_KICK_PIN 21
#define LED_HAT_PIN 22
#define ROTARY_CLK_PIN 32
#define ROTARY_DT_PIN 33
#define BTN_PAUSE_PIN 13
#define BTN_NEXT_PIN 14
#define OLED_CS_PIN 5
#define OLED_DC_PIN 2
#define OLED_RES_PIN 4
#define OLED_MOSI_PIN 23
#define OLED_CLK_PIN 18
#define BUZZER_LEDC_TIMER LEDC_TIMER_0
#define BUZZER_LEDC_MODE LEDC_LOW_SPEED_MODE
#define BUZZER_LEDC_CHANNEL LEDC_CHANNEL_0
#define BUZZER_LEDC_DUTY (4095)
pcnt_unit_handle_t pcnt_unit = NULL;
spi_device_handle_t spi = NULL;
// ==========================================
// 2. INTER-PROCESS COMMUNICATION (IPC)
// ==========================================
volatile bool encoder_mode_volume = false;
volatile float current_volume = 1.0;
volatile uint32_t current_freq = 0;
volatile bool current_kick = false;
volatile bool current_hat = false;
volatile float current_speed = 1.0;
volatile bool is_paused = false;
volatile int current_song_idx = 0;
volatile bool trigger_song_change = false;
// ==========================================
// 3. GRAPHICS ENGINE & 1.3" OLED DRIVER
// ==========================================
uint8_t oled_buffer[1024];
const uint8_t font5x7[59][5] = {
{0x00,0x00,0x00,0x00,0x00}, {0x00,0x00,0x5f,0x00,0x00}, {0x00,0x07,0x00,0x07,0x00}, {0x14,0x7f,0x14,0x7f,0x14},
{0x24,0x2a,0x7f,0x2a,0x12}, {0x23,0x13,0x08,0x64,0x62}, {0x36,0x49,0x55,0x22,0x50}, {0x00,0x05,0x03,0x00,0x00},
{0x00,0x1c,0x22,0x41,0x00}, {0x00,0x41,0x22,0x1c,0x00}, {0x14,0x08,0x3e,0x08,0x14}, {0x08,0x08,0x3e,0x08,0x08},
{0x00,0x50,0x30,0x00,0x00}, {0x08,0x08,0x08,0x08,0x08}, {0x00,0x60,0x60,0x00,0x00}, {0x20,0x10,0x08,0x04,0x02},
{0x3e,0x51,0x49,0x45,0x3e}, {0x00,0x42,0x7f,0x40,0x00}, {0x42,0x61,0x51,0x49,0x46}, {0x21,0x41,0x45,0x4b,0x31},
{0x18,0x14,0x12,0x7f,0x10}, {0x27,0x45,0x45,0x45,0x39}, {0x3c,0x4a,0x49,0x49,0x30}, {0x01,0x71,0x09,0x05,0x03},
{0x36,0x49,0x49,0x49,0x36}, {0x06,0x49,0x49,0x29,0x1e}, {0x00,0x36,0x36,0x00,0x00}, {0x00,0x56,0x36,0x00,0x00},
{0x08,0x14,0x22,0x41,0x00}, {0x14,0x14,0x14,0x14,0x14}, {0x00,0x41,0x22,0x14,0x08}, {0x02,0x01,0x51,0x09,0x06},
{0x32,0x49,0x79,0x41,0x3e}, {0x7e,0x11,0x11,0x11,0x7e}, {0x7f,0x49,0x49,0x49,0x36}, {0x3e,0x41,0x41,0x41,0x22},
{0x7f,0x41,0x41,0x22,0x1c}, {0x7f,0x49,0x49,0x49,0x41}, {0x7f,0x09,0x09,0x09,0x01}, {0x3e,0x41,0x49,0x49,0x7a},
{0x7f,0x08,0x08,0x08,0x7f}, {0x00,0x41,0x7f,0x41,0x00}, {0x20,0x40,0x41,0x3f,0x01}, {0x7f,0x08,0x14,0x22,0x41},
{0x7f,0x40,0x40,0x40,0x40}, {0x7f,0x02,0x0c,0x02,0x7f}, {0x7f,0x04,0x08,0x10,0x7f}, {0x3e,0x41,0x41,0x41,0x3e},
{0x7f,0x09,0x09,0x09,0x06}, {0x3e,0x41,0x51,0x21,0x5e}, {0x7f,0x09,0x19,0x29,0x46}, {0x46,0x49,0x49,0x49,0x31},
{0x01,0x01,0x7f,0x01,0x01}, {0x3f,0x40,0x40,0x40,0x3f}, {0x1f,0x20,0x40,0x20,0x1f}, {0x3f,0x40,0x38,0x40,0x3f},
{0x63,0x14,0x08,0x14,0x63}, {0x07,0x08,0x70,0x08,0x07}, {0x61,0x51,0x49,0x45,0x43}
};
void oled_send_cmd(uint8_t cmd) {
gpio_set_level(OLED_DC_PIN, 0); spi_transaction_t t; memset(&t, 0, sizeof(t));
uint8_t cmd_ram = cmd; t.length = 8; t.tx_buffer = &cmd_ram; spi_device_polling_transmit(spi, &t);
}
void oled_send_data(const uint8_t *data, int len) {
gpio_set_level(OLED_DC_PIN, 1); spi_transaction_t t; memset(&t, 0, sizeof(t));
t.length = len * 8; t.tx_buffer = data; spi_device_polling_transmit(spi, &t);
}
void draw_pixel(int x, int y, int color) {
if (x < 0 || x >= 128 || y < 0 || y >= 64) return;
if (color) oled_buffer[x + (y / 8) * 128] |= (1 << (y % 8));
else oled_buffer[x + (y / 8) * 128] &= ~(1 << (y % 8));
}
void draw_filled_rect(int x, int y, int w, int h, int color) {
for (int i = x; i < x + w; i++) for (int j = y; j < y + h; j++) draw_pixel(i, j, color);
}
void draw_rect(int x, int y, int w, int h, int color) {
for (int i = x; i < x + w; i++) { draw_pixel(i, y, color); draw_pixel(i, y + h - 1, color); }
for (int j = y; j < y + h; j++) { draw_pixel(x, j, color); draw_pixel(x + w - 1, j, color); }
}
void draw_string(int x, int y, const char* str) {
while(*str) {
char c = *str;
if (c >= 32 && c <= 90) {
for(int i=0; i<5; i++) for(int j=0; j<8; j++) if((font5x7[c-32][i] >> j) & 1) draw_pixel(x+i, y+j, 1);
} else if (c >= 97 && c <= 122) {
for(int i=0; i<5; i++) for(int j=0; j<8; j++) if((font5x7[c-64][i] >> j) & 1) draw_pixel(x+i, y+j, 1);
}
x += 6; str++;
}
}
void oled_push_framebuffer(void) {
for(int page = 0; page < 8; page++) {
oled_send_cmd(0xB0 + page); oled_send_cmd(0x02); oled_send_cmd(0x10);
oled_send_data(&oled_buffer[page * 128], 128);
}
}
// ==========================================
// 4. THE ULTIMATE 8-TRACK PLAYLIST (FLASH MEMORY STORAGE)
// ==========================================
typedef struct { uint32_t frequency; uint32_t duration; bool kick_drum; bool hi_hat; } SequenceStep;
#define REST 0
#define NOTE_G3 196
#define NOTE_GS3 208
#define NOTE_A3 220
#define NOTE_AS3 233
#define NOTE_B3 247
#define NOTE_C4 262
#define NOTE_CS4 277
#define NOTE_D4 294
#define NOTE_DS4 311
#define NOTE_E4 330
#define NOTE_F4 349
#define NOTE_FS4 370
#define NOTE_G4 392
#define NOTE_GS4 415
#define NOTE_A4 440
#define NOTE_AS4 466
#define NOTE_B4 494
#define NOTE_C5 523
#define NOTE_CS5 554
#define NOTE_D5 587
#define NOTE_DS5 622
#define NOTE_E5 659
#define NOTE_F5 698
#define NOTE_FS5 740
#define NOTE_G5 784
#define NOTE_GS5 831
#define NOTE_A5 880
#define NOTE_AS5 932
#define NOTE_B5 988
#define NOTE_C6 1047
#define NOTE_CS6 1109
#define NOTE_D6 1175
#define NOTE_DS6 1245
#define NOTE_E6 1319
// Converted from: mario.mid (Clean Melody & Bass-Routed Edition)
const SequenceStep midi_mario[] = {
{659, 209, true, false}, {659, 214, true, false}, {0, 218, false, false}, {659, 209, true, false},
{0, 218, false, false}, {523, 209, true, false}, {659, 361, true, false}, {0, 71, false, false},
{783, 357, true, false}, {0, 500, false, false}, {391, 357, true, false}, {0, 500, false, false},
{391, 146, true, false}, {587, 150, false, false}, {587, 150, false, false}, {440, 150, false, false},
{0, 153, false, false}, {587, 146, false, false}, {493, 553, false, false}, {0, 200, false, false},
{587, 75, false, false}, {587, 71, false, false}, {493, 150, false, false}, {523, 150, false, false},
{587, 253, false, false}, {0, 50, false, false}, {391, 146, true, false}, {587, 150, false, false},
{587, 150, false, false}, {440, 150, false, false}, {0, 153, false, false}, {587, 146, false, false},
{493, 553, false, false}, {0, 275, false, false}, {0, 675, false, false}, {391, 146, true, false},
{587, 150, false, false}, {587, 150, false, false}, {440, 150, false, false}, {0, 153, false, false},
{587, 146, false, false}, {493, 553, false, false}, {0, 200, false, false}, {587, 75, false, false},
{587, 71, false, false}, {493, 150, false, false}, {523, 150, false, false}, {587, 253, false, false},
{0, 50, false, false}, {391, 146, true, false}, {587, 150, false, false}, {587, 150, false, false},
{440, 150, false, false}, {0, 153, false, false}, {587, 146, false, false}, {493, 553, false, false},
{0, 275, false, false}, {0, 675, false, false}, {587, 146, true, false}, {523, 150, false, false},
{587, 150, false, false}, {493, 150, false, false}, {0, 153, false, false}, {587, 146, false, false},
{783, 828, false, false}, {0, 675, false, false}, {587, 146, true, false}, {523, 150, false, false},
{587, 150, false, false}, {493, 150, false, false}, {0, 153, false, false}, {587, 146, false, false},
{523, 828, false, false}, {0, 675, false, false}, {587, 146, true, false}, {523, 150, false, false},
{587, 150, false, false}, {493, 150, false, false}, {0, 153, false, false}, {587, 146, false, false},
{783, 828, false, false}, {0, 675, false, false}, {880, 146, false, true}, {783, 150, false, false},
{880, 150, false, false}, {783, 150, false, false}, {0, 153, false, false}, {987, 146, false, false},
{783, 828, false, false}, {0, 675, false, false}, {0, 2000, true, false}, {329, 244, false, false},
{329, 250, false, false}, {0, 755, false, false}, {329, 244, false, false}, {329, 250, false, false},
{329, 125, false, false}, {329, 125, false, false}, {349, 250, true, false}, {349, 250, false, false},
{0, 755, false, false}, {349, 244, false, false}, {349, 250, false, false}, {349, 125, false, false},
{349, 125, false, false}, {391, 250, true, false}, {391, 250, false, false}, {0, 755, false, false},
{391, 244, false, false}, {391, 250, false, false}, {391, 125, false, false}, {391, 125, false, false},
{349, 250, true, false}, {349, 250, false, false}, {0, 755, false, false}, {349, 244, false, false},
{349, 250, false, false}, {349, 125, false, false}, {349, 125, false, false}, {329, 672, true, false},
{0, 83, false, false}, {329, 494, false, false}, {391, 250, false, false}, {440, 250, false, false},
{391, 130, false, false}, {391, 119, false, false}, {261, 1881, true, false}, {0, 125, false, false},
{349, 666, true, true}, {0, 83, false, false}, {349, 494, false, false}, {440, 250, false, false},
{493, 250, false, false}, {440, 130, false, false}, {440, 119, false, false}, {311, 1881, true, true},
{0, 125, false, false}, {391, 666, true, true}, {0, 83, false, false}, {391, 494, false, false},
{523, 250, false, false}, {587, 250, false, false}, {523, 130, false, false}, {523, 119, false, false},
{783, 672, true, true}, {0, 83, false, false}, {698, 494, false, false}, {523, 250, false, false},
{391, 250, false, false}, {349, 130, false, false}, {349, 119, false, false}, {659, 672, true, true},
{0, 83, false, false}, {523, 494, false, false}, {440, 250, false, false}, {349, 250, false, false},
{329, 130, false, false}, {329, 119, false, false}, {311, 1380, true, false}, {0, 125, false, false},
{277, 2376, false, false}, {0, 125, false, false}, {261, 244, true, false}, {0, 250, true, true},
{261, 250, true, false}, {293, 62, false, false}, {0, 62, false, true}, {261, 125, true, false},
{0, 130, false, false}, {0, 369, true, true}, {0, 250, true, true}, {0, 250, true, true},
{0, 422, true, true}, {0, 83, false, false}, {0, 119, true, true}, {0, 250, true, true},
{0, 125, true, true}, {0, 755, false, false}, {293, 182, false, false}, {0, 67, false, false},
{329, 119, false, true}, {311, 125, false, false}, {329, 125, false, false}, {391, 46, false, false},
{391, 83, false, false}, {391, 119, false, true}, {440, 125, false, false}, {391, 250, false, true},
{261, 255, false, false}, {261, 166, false, true}, {0, 78, false, false}, {0, 255, false, true},
{0, 119, false, true}, {0, 46, false, true}, {0, 78, false, false}, {0, 125, false, true},
{0, 125, false, true}, {0, 125, false, true}, {261, 46, false, false}, {261, 83, false, false},
{261, 119, false, true}, {293, 125, false, false}, {261, 125, false, false}, {261, 125, false, true},
{0, 255, false, true}, {0, 166, false, true}, {0, 333, false, false}, {0, 166, false, true},
{0, 78, false, false}, {0, 125, false, true}, {0, 125, false, true}, {0, 125, false, true},
{391, 46, false, false}, {391, 83, false, false}, {391, 244, false, true}, {0, 125, false, true},
{0, 125, false, true}, {0, 125, false, true}, {391, 130, false, false}, {391, 244, false, true},
{0, 313, false, true}, {391, 108, false, false}, {391, 78, false, false}, {349, 250, false, true},
{391, 171, false, false}, {391, 78, false, false}, {440, 125, false, true}, {391, 250, false, false},
{293, 125, false, true}, {293, 255, false, false}, {293, 166, false, true}, {0, 328, false, false},
{293, 187, false, true}, {0, 62, false, false}, {329, 125, false, true}, {311, 125, false, false},
{329, 125, false, false}, {391, 46, false, false}, {391, 83, false, false}, {391, 119, false, true},
{440, 125, false, false}, {391, 250, false, true}, {466, 255, false, false}, {466, 166, false, true},
{0, 78, false, false}, {0, 255, false, true}, {415, 166, false, false}, {415, 78, false, false},
{440, 125, false, true}, {415, 125, false, false}, {440, 125, false, false}, {523, 46, false, false},
{523, 83, false, false}, {523, 119, false, true}, {587, 125, false, false}, {523, 125, false, false},
{523, 125, false, true}, {440, 255, false, false}, {440, 166, false, true}, {0, 78, false, false},
{0, 255, false, true}, {440, 166, false, false}, {440, 78, false, false}, {391, 125, false, true},
{369, 125, false, false}, {391, 125, false, false}, {0, 46, false, true}, {0, 83, false, false},
{0, 244, false, true}, {391, 125, false, true}, {369, 125, false, false}, {391, 125, false, false},
{0, 130, false, true}, {0, 119, false, true}, {0, 125, false, true}, {349, 250, false, true},
{329, 171, false, false}, {329, 78, false, false}, {261, 422, true, true}, {261, 83, false, false},
{261, 119, false, true}, {261, 250, false, true}, {261, 125, false, false}, {0, 380, false, false},
{0, 375, false, false}, {293, 119, false, false}, {311, 125, false, false}, {329, 125, false, true},
{311, 125, false, false}, {329, 125, false, true}, {391, 125, false, false}, {391, 125, false, false},
{440, 125, false, false}, {391, 130, false, false}, {391, 119, false, true}, {261, 255, false, false},
{261, 166, false, true}, {0, 78, false, false}, {391, 250, false, false}, {349, 62, false, true},
{329, 62, false, false}, {293, 62, false, true}, {0, 62, false, false}, {0, 62, false, true},
{0, 62, false, true}, {0, 62, false, true}, {0, 62, false, true}, {0, 125, false, true},
{261, 125, false, false}, {261, 125, false, false}, {293, 125, false, false}, {261, 130, false, false},
{261, 119, false, true}, {0, 255, false, true}, {0, 166, false, true}, {0, 78, false, false},
{349, 250, false, false}, {329, 62, false, true}, {293, 62, false, false}, {261, 62, false, false},
{0, 62, false, false}, {0, 62, false, true}, {0, 62, false, true}, {0, 62, false, true},
{0, 62, false, true}, {0, 125, false, true}, {391, 125, false, true}, {391, 255, false, false},
{391, 57, false, true}, {0, 62, false, true}, {0, 125, false, true}, {0, 125, false, true},
{0, 375, false, true}, {0, 313, false, true}, {391, 67, false, false}, {391, 119, false, false},
{349, 250, false, true}, {391, 125, false, false}, {391, 62, false, false}, {391, 62, false, true},
{440, 125, false, false}, {391, 130, false, false}, {391, 119, false, true}, {293, 437, false, false},
{261, 62, false, false}, {0, 46, false, true}, {0, 15, false, false}, {0, 62, false, true},
{0, 62, false, true}, {0, 62, false, true}, {0, 125, false, true}, {293, 187, true, true},
{0, 62, false, false}, {329, 125, false, true}, {311, 125, false, false}, {329, 125, false, false},
{391, 125, false, true}, {391, 125, false, false}, {440, 125, false, false}, {391, 250, false, true},
{466, 255, false, false}, {466, 166, false, true}, {261, 78, false, false}, {293, 125, false, false},
{329, 130, false, false}, {415, 119, false, false}, {415, 125, false, false}, {440, 125, false, true},
{415, 125, false, false}, {440, 125, false, false}, {523, 46, false, false}, {523, 78, false, false},
{0, 130, false, true}, {587, 119, false, false}, {523, 125, false, false}, {523, 125, false, true},
{440, 255, false, false}, {440, 166, false, true}, {261, 78, false, false}, {311, 125, false, false},
{293, 130, false, false}, {440, 119, false, false}, {440, 125, false, true}, {391, 125, false, false},
{369, 125, false, false}, {391, 125, false, true}, {0, 125, false, true}, {0, 250, false, false},
{391, 125, false, false}, {369, 125, false, true}, {391, 125, false, false}, {0, 130, false, true},
{0, 119, false, true}, {0, 125, false, true}, {349, 250, false, false}, {329, 250, false, true},
{261, 422, false, true}, {261, 83, false, false}, {261, 119, false, true}, {261, 250, false, true},
{261, 547, false, false}, {0, 83, false, false}, {329, 182, false, false}, {349, 62, false, false},
{391, 125, false, false}, {415, 125, false, false}, {880, 672, false, false}, {0, 83, false, false},
{698, 244, false, false}, {783, 672, false, false}, {0, 83, false, false}, {659, 244, false, false},
{698, 375, false, false}, {783, 125, false, false}, {0, 318, false, false}, {659, 103, false, false},
{0, 83, false, false}, {659, 182, false, false}, {698, 62, false, false}, {783, 125, false, false},
{830, 125, false, false}, {0, 505, false, false}, {880, 666, false, false}, {0, 83, false, false},
{830, 244, false, false}, {783, 672, false, false}, {0, 83, false, false}, {739, 244, false, false},
{698, 375, false, false}, {659, 375, false, false}, {523, 672, false, false}, {0, 583, false, false},
{880, 244, false, false}, {880, 250, false, false}, {830, 250, false, false}, {830, 250, false, false},
{783, 250, false, false}, {783, 250, false, false}, {739, 250, false, false}, {739, 250, false, false},
{698, 375, false, false}, {783, 125, false, false}, {0, 255, false, false}, {659, 1125, false, false},
{0, 125, false, false}, {880, 244, false, false}, {880, 250, false, false}, {830, 250, false, false},
{830, 250, false, false}, {783, 250, false, false}, {783, 250, false, false}, {739, 250, false, false},
{739, 250, false, false}, {698, 375, false, false}, {659, 125, false, false}, {0, 255, false, false},
{523, 1125, false, true}, {0, 125, false, false}, {523, 119, false, false}, {329, 250, false, true},
{466, 125, false, true}, {0, 505, false, false}, {523, 119, false, false}, {329, 250, false, true},
{466, 125, false, true}, {0, 505, false, false}, {440, 119, false, true}, {261, 250, true, false},
{311, 125, false, true}, {0, 505, false, false}, {440, 119, false, true}, {261, 250, true, false},
{311, 125, false, true}, {0, 505, false, false}, {523, 119, false, false}, {329, 250, false, true},
{466, 125, false, true}, {0, 505, false, false}, {523, 119, false, false}, {329, 250, false, true},
{466, 125, false, true}, {0, 505, false, false}, {440, 244, false, true}, {440, 250, false, true},
{440, 250, false, true}, {440, 250, false, true}, {415, 422, false, true}, {0, 83, false, false},
{391, 57, false, true}, {349, 62, false, true}, {329, 62, false, true}, {293, 62, false, true},
{261, 62, true, false}, {0, 62, true, true}, {0, 125, true, true}, {523, 125, false, false},
{329, 250, false, true}, {466, 125, false, true}, {0, 505, false, false}, {523, 119, false, false},
{329, 250, false, true}, {466, 125, false, true}, {0, 505, false, false}, {440, 119, false, true},
{261, 250, true, false}, {311, 125, false, true}, {0, 505, false, false}, {440, 119, false, true},
{261, 250, true, false}, {311, 125, false, true}, {0, 505, false, false}, {523, 119, false, false},
{329, 250, false, true}, {466, 125, false, true}, {0, 505, false, false}, {523, 119, false, false},
{329, 250, false, true}, {466, 125, false, true}, {0, 505, false, false}, {783, 357, false, true},
{0, 285, false, false}, {880, 209, false, true}, {0, 218, false, false}, {783, 209, false, true},
{0, 218, false, false}, {739, 209, false, true}, {783, 214, false, true}, {1046, 214, false, true},
{1318, 361, false, false}, {0, 500, false, false}, {391, 209, false, false}, {523, 214, false, false},
{698, 361, false, true}, {0, 285, false, false}, {783, 209, false, true}, {0, 218, false, false},
{698, 209, false, true}, {0, 218, false, false}, {659, 209, true, true}, {698, 214, false, true},
{987, 214, false, true}, {1174, 361, false, true}, {0, 500, false, false}, {391, 209, false, false},
{493, 214, false, false}, {659, 361, true, true}, {0, 285, false, false}, {698, 209, false, true},
{0, 218, false, false}, {659, 209, true, true}, {0, 218, false, false}, {622, 209, true, true},
{659, 214, true, true}, {880, 214, false, true}, {1046, 361, false, true}, {0, 285, false, false},
{880, 209, true, true}, {987, 214, false, true}, {1046, 214, false, true}, {1174, 214, false, true},
{1046, 214, false, true}, {1174, 214, false, true}, {1046, 428, false, true}, {880, 214, false, true},
{739, 214, true, true}, {587, 214, true, true}, {523, 214, true, true}, {440, 214, true, true},
{0, 214, true, true}, {0, 969, false, true}, {0, 107, false, false}, {0, 209, true, false},
{0, 214, false, true}, {0, 218, false, true}, {0, 142, false, true}, {0, 66, false, false},
{0, 218, false, false}, {0, 209, false, true}, {0, 218, false, false}, {293, 209, false, false},
{391, 214, true, false}, {391, 147, false, true}, {0, 66, false, false}, {0, 218, false, true},
{783, 142, false, false}, {783, 66, false, false}, {0, 862, false, false}, {0, 209, true, false},
{0, 214, true, false}, {0, 218, false, true}, {0, 142, false, true}, {0, 66, false, false},
{0, 218, false, false}, {0, 209, false, true}, {0, 218, false, false}, {293, 209, false, false},
{391, 214, true, false}, {391, 147, true, false}, {0, 66, false, false}, {0, 218, false, true},
{783, 142, false, false}, {783, 66, false, false}, {0, 433, false, false}, {0, 357, true, false},
{0, 71, false, false}, {0, 209, true, false}, {0, 214, false, true}, {0, 218, false, true},
{0, 142, false, true}, {0, 66, false, false}, {0, 218, false, false}, {0, 209, false, true},
{0, 218, false, false}, {293, 209, false, false}, {391, 214, true, false}, {391, 147, false, true},
{0, 66, false, false}, {0, 218, false, true}, {783, 142, false, false}, {783, 66, false, false},
{0, 862, false, false}, {0, 209, true, false}, {0, 214, true, false}, {0, 218, false, true},
{0, 142, false, true}, {0, 66, false, false}, {0, 218, false, false}, {0, 209, false, true},
{0, 218, false, false}, {293, 209, false, false}, {391, 214, true, false}, {391, 147, true, false},
{0, 66, false, false}, {0, 218, false, true}, {783, 142, false, false}, {783, 66, false, false},
{0, 862, false, false}, {0, 209, true, false}, {0, 214, true, false}, {0, 218, false, true},
{0, 142, false, true}, {0, 66, false, false}, {0, 218, false, false}, {0, 209, false, true},
{0, 218, false, false}, {293, 209, false, false}, {391, 214, true, false}, {391, 147, true, false},
{0, 66, false, false}, {0, 218, false, true}, {783, 142, false, false}, {783, 66, false, false},
{0, 862, false, false}, {0, 209, true, false}, {0, 214, true, false}, {0, 218, false, true},
{0, 142, false, true}, {0, 66, false, false}, {0, 218, false, false}, {0, 209, false, true},
{0, 218, false, false}, {293, 209, false, false}, {391, 214, true, false}, {391, 147, true, false},
{0, 66, false, false}, {0, 218, false, true}, {783, 142, false, false}, {783, 66, false, false},
{0, 433, false, false}, {0, 357, true, false}, {0, 71, false, false}, {0, 209, true, false},
{293, 214, false, true}, {391, 214, false, false}, {440, 214, false, false}, {493, 214, false, false},
{523, 214, false, false}, {493, 214, false, true}, {440, 214, false, true}, {391, 214, true, false},
{391, 147, true, false}, {0, 66, false, false}, {293, 361, false, true}, {0, 71, false, false},
{261, 357, false, false}, {0, 71, false, false}, {391, 357, false, false}, {0, 71, false, false},
{293, 209, true, false}, {293, 147, true, false}, {0, 66, false, false}, {0, 218, false, true},
{0, 142, false, true}, {0, 66, false, false}, {0, 433, false, false}, {0, 214, false, true},
{0, 142, false, true}, {0, 66, false, false}, {0, 214, true, false}, {0, 214, true, false},
{0, 361, false, true}, {0, 285, false, false}, {261, 209, false, false}, {0, 214, true, false},
{261, 214, false, true}, {0, 214, true, true}, {293, 214, false, true}, {391, 361, false, true},
{0, 285, false, false}, {0, 209, false, true}, {0, 218, false, false}, {0, 209, false, true},
{0, 214, true, false}, {0, 214, false, true}, {0, 218, false, true}, {293, 142, false, false},
{293, 66, false, false}, {0, 218, false, false}, {391, 209, false, false}, {0, 433, false, false},
{0, 209, true, false}, {293, 214, false, true}, {391, 214, false, false}, {440, 214, false, false},
{493, 214, false, false}, {523, 214, false, false}, {493, 214, false, true}, {440, 214, false, true},
{391, 214, true, false}, {391, 147, true, false}, {0, 66, false, false}, {293, 361, false, true},
{0, 71, false, false}, {261, 357, false, false}, {0, 71, false, false}, {391, 357, false, false},
{0, 71, false, false}, {293, 209, true, false}, {293, 147, true, false}, {0, 66, false, false},
{0, 218, false, true}, {0, 142, false, true}, {0, 66, false, false}, {0, 218, false, false},
{0, 209, false, true}, {0, 218, false, true}, {0, 142, false, true}, {0, 66, false, false},
{0, 214, true, false}, {0, 214, true, false}, {0, 218, false, false}, {261, 209, false, true},
{0, 218, false, false}, {261, 209, false, false}, {0, 218, true, false}, {261, 142, false, false},
{261, 66, false, false}, {0, 214, true, true}, {293, 214, false, true}, {391, 218, false, false},
{391, 142, false, true}, {0, 66, false, false}, {0, 218, false, false}, {0, 209, false, true},
{0, 218, false, true}, {0, 142, false, true}, {0, 66, false, false}, {0, 214, true, false},
{0, 214, false, true}, {0, 218, false, true}, {0, 142, false, true}, {0, 66, false, false},
{0, 862, false, false}, {0, 209, true, false}, {0, 214, false, true}, {261, 218, false, false},
{391, 142, false, false}, {391, 66, false, false}, {659, 214, false, false}, {587, 214, false, false},
{523, 214, false, false}, {659, 214, false, false}, {587, 214, true, false}, {587, 147, false, true},
{0, 66, false, false}, {0, 218, false, true}, {391, 142, false, false}, {391, 66, false, false},
{0, 218, false, false}, {0, 209, false, true}, {0, 361, false, true}, {0, 71, false, false},
{0, 209, true, false}, {0, 214, false, true}, {0, 218, false, true}, {329, 142, false, false},
{329, 66, false, false}, {587, 214, false, false}, {523, 214, false, false}, {493, 214, false, true},
{523, 147, false, false}, {523, 66, false, false}, {493, 214, true, false}, {493, 147, false, true},
{0, 66, false, false}, {0, 218, false, true}, {391, 142, false, false}, {391, 66, false, false},
{0, 433, false, false}, {0, 357, false, true}, {0, 71, false, false}, {0, 209, true, false},
{0, 214, false, true}, {261, 218, false, false}, {391, 142, false, false}, {391, 66, false, false},
{659, 214, false, false}, {587, 214, false, false}, {523, 214, false, false}, {659, 214, false, false},
{587, 214, true, false}, {587, 147, false, true}, {0, 66, false, false}, {0, 218, false, true},
{391, 142, false, false}, {391, 66, false, false}, {0, 433, false, false}, {0, 357, false, true},
{0, 71, false, false}, {0, 209, true, false}, {0, 214, false, true}, {0, 361, false, true},
{0, 71, false, false}, {523, 209, false, false}, {587, 214, false, false}, {523, 214, false, true},
{493, 147, false, false}, {493, 66, false, false}, {0, 214, true, false}, {0, 214, false, true},
{391, 361, false, false}, {0, 71, false, false}, {329, 209, false, true}, {329, 147, false, true},
{0, 66, false, false}, {0, 433, false, false}, {0, 209, true, false}, {293, 214, false, true},
{391, 214, false, false}, {440, 214, false, false}, {493, 214, false, false}, {523, 214, false, false},
{493, 214, false, true}, {440, 147, false, false}, {440, 66, false, false}, {391, 214, true, false},
{391, 147, true, false}, {0, 66, false, false}, {293, 361, false, true}, {0, 71, false, false},
{261, 214, false, false}, {261, 142, true, false}, {0, 66, false, false}, {391, 361, false, true},
{0, 71, false, false}, {293, 209, true, false}, {293, 147, true, false}, {0, 66, false, false},
{0, 218, false, true}, {0, 142, false, true}, {0, 66, false, false}, {0, 433, false, false},
{0, 214, true, false}, {0, 142, false, true}, {0, 66, false, false}, {0, 214, true, false},
{0, 214, true, false}, {0, 361, false, true}, {0, 500, false, false}, {0, 214, true, false},
{261, 142, false, false}, {261, 66, false, false}, {0, 214, true, true}, {293, 214, false, true},
{391, 361, false, true}, {0, 285, false, false}, {0, 209, false, true}, {0, 218, false, true},
{0, 142, false, true}, {0, 66, false, false}, {0, 361, true, false}, {0, 71, false, false},
{0, 214, false, true}, {293, 142, false, false}, {293, 66, false, false}, {0, 862, false, false},
{0, 209, true, false}, {293, 214, false, true}, {391, 214, false, false}, {440, 214, false, false},
{493, 214, false, false}, {523, 214, false, false}, {493, 214, false, true}, {440, 214, false, true},
{391, 214, true, false}, {391, 147, true, false}, {0, 66, false, false}, {293, 361, false, true},
{0, 71, false, false}, {261, 214, false, false}, {261, 142, true, false}, {0, 66, false, false},
{391, 361, false, false}, {0, 71, false, false}, {293, 209, true, false}, {293, 147, true, false},
{0, 66, false, false}, {0, 218, false, true}, {0, 142, false, true}, {0, 66, false, false},
{0, 218, false, false}, {261, 209, false, false}, {0, 218, false, true}, {0, 142, false, true},
{0, 66, false, false}, {0, 214, true, false}, {0, 214, true, false}, {0, 361, false, true},
{0, 285, false, false}, {261, 209, false, false}, {0, 218, true, false}, {261, 142, false, false},
{261, 66, false, false}, {0, 214, true, true}, {293, 214, false, true}, {391, 361, false, true},
{0, 285, false, false}, {0, 209, false, true}, {0, 218, false, true}, {0, 142, false, true},
{0, 66, false, false}, {0, 214, true, false}, {0, 214, false, true}, {0, 361, false, true},
{0, 285, false, false}, {391, 209, false, true}, {0, 433, false, false}, {0, 209, true, false},
{0, 214, true, false}, {0, 218, false, true}, {349, 142, false, true}, {349, 66, false, false},
{0, 218, false, false}, {349, 209, false, true}, {349, 214, false, true}, {349, 214, false, true},
{0, 218, true, false}, {349, 142, false, true}, {349, 66, false, false}, {349, 214, false, true},
{349, 214, false, true}, {0, 218, true, false}, {349, 142, false, true}, {349, 66, false, false},
{349, 214, false, true}, {349, 147, false, true}, {349, 66, false, false}, {0, 214, true, false},
{0, 214, true, false}, {0, 218, false, true}, {391, 142, false, true}, {391, 66, false, false},
{0, 218, false, false}, {391, 209, false, true}, {0, 218, false, true}, {391, 142, false, true},
{391, 66, false, false}, {0, 218, true, false}, {391, 142, false, true}, {391, 66, false, false},
{0, 214, false, true}, {391, 111, false, true}, {391, 102, false, true}, {391, 214, false, true},
{391, 214, false, true}, {391, 214, false, true}, {391, 214, false, true}, {0, 214, true, false},
{0, 214, true, false}, {0, 218, false, true}, {391, 142, false, false}, {391, 66, false, false},
{0, 218, false, false}, {391, 209, false, false}, {0, 218, false, true}, {391, 142, false, false},
{391, 66, false, false}, {0, 218, true, false}, {440, 142, false, false}, {440, 66, false, false},
{0, 218, false, true}, {440, 142, false, false}, {440, 66, false, false}, {0, 218, false, false},
{440, 209, false, true}, {0, 218, false, false}, {0, 209, false, true}, {0, 371, true, true},
{0, 375, true, true}, {0, 375, true, true}, {0, 1133, true, true}, {293, 625, false, true},
{0, 125, false, false}, {587, 156, false, false}, {523, 160, false, false}, {391, 107, false, true},
{293, 160, false, true}, {261, 160, true, false}, {0, 107, true, true}, {0, 361, true, true},
{0, 2108, false, false}, {0, 107, false, false}, {293, 1607, true, true}, {0, 107, false, false},
{329, 1607, false, true}, {0, 107, false, false}, {349, 1607, false, false}, {0, 107, false, false},
{391, 1607, false, false}, {0, 107, false, false}, {293, 1607, true, true}, {0, 107, false, false},
{329, 1607, false, true}, {0, 107, false, false}, {349, 1607, false, false}, {0, 107, false, false},
{391, 750, false, false}, {0, 964, false, false}, {293, 357, false, true}, {0, 71, false, false},
{293, 357, false, true}, {0, 281, false, false}, {293, 214, false, true}, {293, 107, false, true},
{293, 107, false, true}, {523, 107, false, true}, {523, 107, false, true}, {493, 214, false, true},
{391, 147, false, false}, {391, 66, false, false}, {329, 361, false, true}, {293, 285, false, false},
{329, 209, false, true}, {329, 107, false, true}, {329, 107, false, true}, {329, 107, false, true},
{329, 107, false, true}, {349, 361, false, true}, {293, 71, false, false}, {349, 142, false, true},
{349, 71, false, false}, {349, 142, false, false}, {0, 281, false, false}, {349, 214, false, true},
{391, 107, false, true}, {391, 107, false, true}, {349, 107, false, true}, {349, 107, false, true},
{391, 361, false, true}, {0, 71, false, false}, {391, 357, false, true}, {0, 285, false, false},
{391, 209, false, true}, {391, 107, false, true}, {391, 107, false, true}, {391, 107, false, true},
{391, 107, false, true}, {293, 361, false, true}, {0, 71, false, false}, {293, 357, false, true},
{0, 281, false, false}, {293, 214, false, true}, {293, 107, false, true}, {293, 107, false, true},
{523, 107, false, true}, {523, 107, false, true}, {493, 214, false, true}, {391, 147, false, false},
{391, 66, false, false}, {329, 361, false, true}, {293, 214, false, false}, {0, 71, false, false},
{329, 209, false, true}, {329, 107, false, true}, {329, 107, false, true}, {587, 107, false, true},
{587, 107, false, true}, {523, 361, false, true}, {0, 71, false, false}, {493, 357, false, true},
{493, 285, false, false}, {493, 209, false, true}, {493, 107, false, true}, {493, 107, false, true},
{440, 107, false, true}, {440, 107, false, true}, {493, 361, false, true}, {493, 71, false, false},
{493, 357, false, true}, {493, 285, false, false}, {493, 209, false, true}, {493, 107, false, true},
{493, 107, false, true}, {493, 107, false, true}, {391, 107, false, true}, {349, 361, false, true},
{311, 71, false, false}, {349, 357, false, true}, {311, 281, false, false}, {349, 214, false, true},
{349, 107, false, true}, {349, 107, false, true}, {622, 107, false, true}, {622, 107, false, true},
{587, 214, false, true}, {466, 147, false, false}, {466, 66, false, false}, {391, 361, false, true},
{349, 285, false, false}, {391, 209, false, true}, {391, 107, false, true}, {391, 107, false, true},
{391, 107, false, true}, {391, 107, false, true}, {415, 214, false, true}, {415, 147, false, false},
{349, 71, false, false}, {415, 357, false, true}, {349, 285, false, false}, {415, 209, false, true},
{415, 107, false, true}, {415, 107, false, true}, {415, 107, false, true}, {415, 107, false, true},
{466, 361, false, true}, {0, 71, false, false}, {466, 357, false, true}, {0, 285, false, false},
{466, 209, false, true}, {466, 107, false, true}, {466, 107, false, true}, {466, 107, false, true},
{466, 107, false, true}, {293, 361, false, true}, {0, 71, false, false}, {293, 357, false, true},
{0, 281, false, false}, {293, 214, false, true}, {293, 107, false, true}, {293, 107, false, true},
{523, 107, false, true}, {523, 107, false, true}, {493, 214, false, true}, {391, 147, false, false},
{391, 66, false, false}, {329, 361, false, true}, {293, 285, false, false}, {329, 209, false, true},
{329, 107, false, true}, {329, 107, false, true}, {329, 107, false, true}, {329, 107, false, true},
{391, 361, false, true}, {391, 71, false, false}, {391, 357, false, true}, {391, 285, false, false},
{391, 209, false, true}, {391, 107, false, true}, {391, 107, false, true}, {391, 107, false, true},
{349, 107, false, true}, {391, 361, false, true}, {349, 71, false, false}, {391, 357, false, true},
{349, 285, false, false}, {391, 209, false, true}, {391, 107, false, true}, {391, 107, false, true},
{391, 107, false, true}, {391, 107, false, true}, {523, 754, false, false}, {0, 107, false, false},
{783, 750, false, false}, {0, 107, false, false}, {698, 357, false, false}, {0, 71, false, false},
{587, 1179, false, false}, {0, 107, false, false}, {523, 750, false, false}, {0, 107, false, false},
{783, 750, false, false}, {0, 107, false, false}, {698, 357, false, false}, {0, 71, false, false},
{587, 750, false, false}, {0, 107, false, false}, {987, 357, false, false}, {0, 71, false, false},
{523, 750, false, false}, {0, 107, false, false}, {783, 750, false, false}, {0, 107, false, false},
{698, 750, false, false}, {0, 107, false, false}, {587, 750, false, false}, {0, 107, false, false},
{622, 2465, false, false}, {0, 107, false, false}, {523, 750, false, false}, {0, 107, false, false},
{587, 3322, false, false}, {0, 107, false, false}, {622, 1607, false, false}, {0, 107, false, false},
{830, 750, false, false}, {0, 107, false, false}, {622, 750, false, false}, {0, 107, false, false},
{587, 1607, false, false}, {0, 107, false, false}, {783, 1067, false, false}, {391, 53, false, false},
{349, 53, false, false}, {329, 53, false, false}, {293, 53, false, false}, {391, 53, false, false},
{349, 53, false, false}, {329, 53, false, false}, {293, 53, false, false}, {391, 53, false, false},
{349, 53, false, false}, {329, 53, false, false}, {0, 58, false, false}, {0, 244, true, false},
{0, 250, true, false}, {0, 250, true, false}, {0, 1130, true, false}, {0, 125, false, false},
{0, 244, true, false}, {0, 250, true, false}, {0, 250, true, false}, {0, 1130, true, false},
{0, 125, false, false}, {0, 244, true, false}, {0, 250, true, false}, {0, 250, true, false},
{0, 500, true, false}, {0, 500, true, false}, {0, 500, true, false}, {0, 1631, true, false},
{0, 125, false, false}, {880, 244, true, false}, {880, 250, true, false}, {880, 171, true, false},
{0, 78, false, false}, {830, 1130, true, false}, {0, 125, false, false}, {783, 244, true, false},
{783, 250, true, false}, {783, 171, true, false}, {0, 78, false, false}, {698, 1130, true, false},
{0, 125, false, false}, {880, 244, true, false}, {880, 250, true, false}, {880, 171, true, false},
{0, 78, false, false}, {830, 500, true, false}, {783, 500, true, false}, {698, 500, true, false},
{587, 1631, true, false}, {0, 125, false, false}, {880, 244, true, false}, {880, 250, true, false},
{880, 171, true, false}, {0, 78, false, false}, {830, 1130, true, false}, {0, 125, false, false},
{783, 244, true, false}, {783, 250, true, false}, {783, 171, true, false}, {0, 78, false, false},
{698, 1130, true, false}, {0, 125, false, false}, {880, 244, true, false}, {880, 250, true, false},
{880, 171, true, false}, {0, 78, false, false}, {830, 500, true, false}, {783, 500, true, false},
{698, 500, true, false}, {587, 1631, true, false}, {0, 125, false, false}, {587, 244, true, false},
{587, 250, true, false}, {587, 171, true, false}, {0, 78, false, false}, {554, 1130, true, false},
{0, 125, false, false}, {523, 244, true, false}, {523, 250, true, false}, {523, 171, true, false},
{0, 78, false, false}, {493, 1130, true, false}, {0, 125, false, false}, {587, 244, true, false},
{587, 250, true, false}, {587, 171, true, false}, {0, 78, false, false}, {554, 1130, true, false},
{0, 125, false, false}, {523, 244, true, false}, {523, 250, true, false}, {523, 171, true, false},
{0, 78, false, false}, {493, 1130, true, false}, {0, 125, false, false}, {587, 244, true, false},
{587, 250, true, false}, {587, 171, true, false}, {0, 78, false, false}, {554, 500, true, false},
{554, 630, true, false}, {0, 41, false, false}, {0, 83, false, false}, {587, 244, true, false},
{587, 250, true, false}, {587, 171, true, false}, {0, 78, false, false}, {554, 1130, true, false},
{0, 125, false, false}, {587, 244, true, false}, {587, 250, true, false}, {587, 171, true, false},
{0, 78, false, false}, {554, 1130, true, false}, {0, 125, false, false}, {523, 244, true, false},
{523, 250, true, false}, {523, 171, true, false}, {0, 78, false, false}, {493, 1130, true, false},
{0, 125, false, false}, {0, 244, true, false}, {0, 250, true, false}, {0, 250, true, false},
{0, 250, true, false}, {0, 250, true, false}, {0, 250, true, false}, {0, 250, true, false},
{0, 250, true, false}, {0, 250, true, false}, {0, 250, true, false}, {0, 250, true, false},
{0, 250, true, false}, {0, 250, true, false}, {0, 672, true, false}, {0, 83, false, false},
{0, 244, true, false}, {0, 250, true, false}, {0, 250, true, false}, {0, 250, true, false},
{0, 250, true, false}, {0, 250, true, false}, {0, 250, true, false}, {0, 250, true, false},
{0, 250, true, false}, {0, 250, true, false}, {0, 250, true, false}, {0, 250, true, false},
{0, 250, true, false}, {0, 672, true, false}, {0, 83, false, false}, {0, 357, true, false},
{0, 500, false, false}, {0, 357, true, false}, {0, 71, false, false}, {0, 357, true, false},
{0, 71, false, false}, {0, 357, true, false}, {0, 500, false, false}, {0, 357, true, false},
{0, 71, false, false}, {0, 357, true, false}, {0, 71, false, false}, {0, 357, true, false},
{0, 500, false, false}, {0, 357, true, false}, {0, 71, false, false}, {0, 357, true, false},
{0, 71, false, false}, {0, 357, true, false}, {0, 500, false, false}, {0, 357, true, false},
{0, 71, false, false}, {0, 214, true, false}, {523, 142, false, false}, {523, 71, false, false},
{523, 209, true, false}, {523, 147, false, false}, {523, 66, false, false}, {440, 214, false, false},
{440, 214, false, false}, {466, 214, true, false}, {466, 147, false, false}, {466, 66, false, false},
{0, 361, true, false}, {0, 71, false, false}, {0, 357, true, false}, {0, 500, false, false},
{0, 357, true, false}, {0, 71, false, false}, {0, 357, true, false}, {0, 71, false, false},
{0, 357, true, false}, {0, 500, false, false}, {0, 357, true, false}, {0, 71, false, false},
{0, 214, true, false}, {523, 142, false, false}, {523, 71, false, false}, {523, 209, true, false},
{523, 147, false, false}, {523, 66, false, false}, {440, 214, false, false}, {440, 214, false, false},
{466, 214, true, false}, {466, 147, false, false}, {466, 66, false, false}, {0, 361, true, false},
{0, 71, false, false}, {0, 357, true, false}, {0, 500, false, false}, {0, 357, true, false},
{0, 71, false, false}, {0, 214, true, false}, {349, 142, false, false}, {349, 71, false, false},
{349, 209, true, false}, {349, 147, false, false}, {349, 66, false, false}, {293, 214, false, false},
{293, 214, false, false}, {311, 214, true, false}, {311, 147, false, false}, {311, 66, false, false},
{0, 361, true, false}, {0, 71, false, false}, {0, 357, true, false}, {0, 500, false, false},
{0, 357, true, false}, {0, 71, false, false}, {0, 214, true, false}, {349, 142, false, false},
{349, 71, false, false}, {349, 209, true, false}, {349, 147, false, false}, {349, 66, false, false},
{293, 214, false, false}, {293, 214, false, false}, {311, 214, true, false}, {311, 147, false, false},
{311, 66, false, false}, {0, 361, true, false}, {0, 71, false, false}, {0, 357, true, false},
{0, 500, false, false}, {0, 357, true, false}, {0, 71, false, false}, {0, 357, true, false},
{0, 71, false, false}, {0, 357, true, false}, {0, 500, false, false}, {0, 357, true, false},
{0, 71, false, false}, {0, 357, true, false}, {0, 71, false, false}, {261, 209, true, false},
{523, 147, false, false}, {523, 66, false, false}, {0, 214, false, true}, {440, 214, false, false},
{0, 214, true, true}, {466, 147, false, false}, {466, 66, false, false}, {0, 361, true, false},
{0, 71, false, false}, {0, 357, true, false}, {0, 500, false, false}, {0, 357, true, false},
{0, 71, false, false}, {0, 357, true, false}, {0, 71, false, false}, {261, 209, true, false},
{523, 147, false, false}, {523, 66, false, false}, {0, 214, false, true}, {440, 214, false, false},
{0, 214, true, true}, {466, 147, false, false}, {466, 66, false, false}, {0, 361, true, false},
{0, 71, false, false}, {0, 357, true, false}, {0, 500, false, false}, {0, 357, true, false},
{0, 71, false, false}, {0, 357, true, false}, {0, 71, false, false}, {0, 209, true, true},
{349, 147, false, false}, {349, 66, false, false}, {0, 214, false, true}, {293, 214, false, false},
{0, 214, true, true}, {311, 147, false, false}, {311, 66, false, false}, {0, 361, true, false},
{0, 71, false, false}, {0, 357, true, false}, {0, 500, false, false}, {0, 357, true, false},
{0, 71, false, false}, {0, 357, true, false}, {0, 71, false, false}, {0, 209, true, true},
{349, 147, false, false}, {349, 66, false, false}, {0, 214, false, true}, {293, 214, false, false},
{0, 214, true, true}, {311, 147, false, false}, {311, 66, false, false}, {0, 361, true, false},
{0, 71, false, false}, {0, 357, true, false}, {0, 500, false, false}, {0, 357, true, false},
{0, 71, false, false}, {0, 107, true, false}, {311, 102, false, false}, {293, 107, false, false},
{277, 40, false, false}, {277, 66, false, false}, {261, 361, true, false}, {0, 71, false, false},
{311, 357, false, false}, {0, 71, false, false}, {293, 357, true, false}, {0, 71, false, false},
{0, 357, true, true}, {0, 71, false, false}, {0, 357, true, true}, {0, 71, false, false},
{277, 357, false, false}, {0, 71, false, false}, {261, 156, true, false}, {369, 160, false, false},
{349, 40, false, false}, {349, 66, false, false}, {329, 160, true, false}, {493, 160, false, false},
{466, 40, false, false}, {466, 66, false, false}, {440, 321, true, false}, {311, 40, false, false},
{311, 66, false, false}, {0, 111, false, false}, {0, 316, false, true}, {0, 321, true, true},
{0, 40, false, true}, {0, 66, false, false}, {0, 218, true, false}, {0, 142, false, true},
{0, 66, false, false}, {0, 361, true, false}, {0, 500, false, false}, {0, 357, true, false},
{0, 71, false, false}, {0, 357, true, false}, {0, 71, false, false}, {261, 209, true, false},
{523, 147, false, false}, {523, 66, false, false}, {0, 214, false, true}, {440, 214, false, false},
{0, 214, true, true}, {466, 147, false, false}, {466, 66, false, false}, {0, 361, true, false},
{0, 71, false, false}, {0, 357, true, false}, {0, 500, false, false}, {0, 357, true, false},
{0, 71, false, false}, {0, 357, true, false}, {0, 71, false, false}, {261, 209, true, false},
{523, 147, false, false}, {523, 66, false, false}, {0, 214, false, true}, {440, 214, false, false},
{0, 214, true, true}, {466, 147, false, false}, {466, 66, false, false}, {0, 361, true, false},
{0, 71, false, false}, {0, 357, true, false}, {0, 500, false, false}, {0, 357, true, false},
{0, 71, false, false}, {0, 357, true, false}, {0, 71, false, false}, {0, 209, true, true},
{349, 147, false, false}, {349, 66, false, false}, {0, 214, false, true}, {293, 214, false, false},
{0, 214, true, true}, {311, 147, false, false}, {311, 66, false, false}, {0, 361, true, false},
{0, 71, false, false}, {0, 357, true, false}, {0, 500, false, false}, {0, 357, true, false},
{0, 71, false, false}, {0, 357, true, false}, {0, 71, false, false}, {0, 209, true, true},
{349, 147, false, false}, {349, 66, false, false}, {0, 214, false, true}, {293, 214, false, false},
{0, 214, true, true}, {311, 147, false, false}, {311, 66, false, false}, {0, 361, true, false},
{0, 71, false, false}, {0, 357, true, false}, {0, 500, false, false}, {0, 357, true, false},
{0, 71, false, false}, {0, 107, true, false}, {311, 102, false, false}, {293, 107, false, false},
{277, 40, false, false}, {277, 66, false, false}, {261, 361, true, false}, {0, 71, false, false},
{311, 357, false, false}, {0, 71, false, false}, {293, 357, true, false}, {0, 71, false, false},
{0, 357, true, true}, {0, 71, false, false}, {0, 357, true, true}, {0, 71, false, false},
{277, 357, false, false}, {0, 71, false, false}, {261, 156, true, false}, {369, 160, false, false},
{349, 40, false, false}, {349, 66, false, false}, {329, 160, true, false}, {493, 160, false, false},
{466, 40, false, false}, {466, 66, false, false}, {440, 321, true, false}, {311, 40, false, false},
{311, 66, false, false}, {0, 111, false, false}, {0, 316, false, true}, {0, 321, true, true},
{0, 40, false, true}, {0, 66, false, false}, {0, 218, true, false}, {0, 142, false, true},
{0, 66, false, false}, {0, 361, true, false}, {0, 500, false, false}, {0, 357, true, false},
{0, 71, false, false}, {0, 357, true, false}, {0, 71, false, false}, {783, 357, false, true},
{0, 285, false, false}, {880, 209, false, true}, {0, 218, false, false}, {783, 209, false, true},
{0, 218, false, false}, {739, 209, false, true}, {783, 214, false, true}, {1046, 214, false, true},
{1318, 361, false, false}, {0, 500, false, false}, {391, 209, false, false}, {523, 214, false, false},
{698, 361, false, true}, {0, 285, false, false}, {783, 209, false, true}, {0, 218, false, false},
{698, 209, false, true}, {0, 218, false, false}, {659, 209, true, true}, {698, 214, false, true},
{987, 214, false, true}, {1174, 361, false, true}, {0, 500, false, false}, {391, 209, false, false},
{493, 214, false, false}, {659, 361, true, true}, {0, 285, false, false}, {698, 209, false, true},
{0, 218, false, false}, {659, 209, true, true}, {0, 218, false, false}, {622, 209, true, true},
{659, 214, true, true}, {880, 214, false, true}, {1046, 361, false, true}, {0, 285, false, false},
{880, 209, true, true}, {987, 214, false, true}, {1046, 214, false, true}, {1174, 214, false, true},
{1046, 214, false, true}, {1174, 214, false, true}, {1046, 428, false, true}, {880, 214, false, true},
{739, 214, true, true}, {587, 214, true, true}, {523, 214, true, true}, {440, 214, true, true},
{0, 214, true, true}, {0, 969, false, true}, {0, 107, false, false}, {659, 308, false, false},
{0, 61, false, false}, {0, 308, false, true}, {0, 61, false, false}, {659, 308, false, false},
{0, 61, false, false}, {0, 308, false, true}, {0, 61, false, false}, {659, 308, false, false},
{0, 61, false, false}, {554, 181, false, true}, {0, 127, false, true}, {0, 57, false, false},
{493, 185, false, true}, {493, 127, false, true}, {0, 57, false, false}, {466, 185, false, false},
{466, 127, false, false}, {261, 57, false, false}, {440, 185, false, true}, {440, 185, false, true},
{440, 185, false, true}, {440, 96, false, true}, {0, 88, false, false}, {493, 312, false, true},
{0, 61, false, false}, {440, 181, false, true}, {440, 127, false, true}, {0, 57, false, false},
{293, 185, false, true}, {293, 185, false, true}, {293, 185, false, true}, {293, 185, false, true},
{293, 281, false, true}, {0, 30, false, false}, {0, 61, false, false}, {0, 181, false, true},
{0, 185, true, false}, {0, 185, true, true}, {0, 127, false, true}, {0, 57, false, false},
{0, 92, true, true}, {0, 220, false, true}, {0, 57, false, false}, {329, 277, true, true},
{329, 34, false, true}, {0, 57, false, false}, {293, 185, true, false}, {293, 127, false, true},
{0, 57, false, false}, {0, 185, true, true}, {0, 185, false, true}, {0, 185, true, false},
{0, 185, false, true}, {0, 281, true, true}, {0, 30, false, false}, {0, 61, false, false},
{0, 308, true, true}, {0, 61, false, false}, {0, 181, true, true}, {0, 185, false, true},
{0, 127, true, false}, {0, 57, false, false}, {0, 185, false, true}, {0, 185, true, false},
{0, 127, false, true}, {0, 57, false, false}, {440, 185, true, false}, {440, 185, false, true},
{440, 185, true, false}, {0, 185, false, true}, {0, 185, true, false}, {0, 127, false, true},
{0, 57, false, false}, {0, 185, true, true}, {0, 127, false, true}, {0, 57, false, false},
{440, 185, true, false}, {440, 127, false, true}, {0, 57, false, false}, {0, 185, true, true},
{0, 185, false, true}, {0, 185, true, false}, {0, 96, false, true}, {0, 88, false, false},
{0, 185, true, false}, {0, 185, false, true}, {440, 185, true, false}, {440, 127, false, true},
{0, 57, false, false}, {329, 185, false, true}, {329, 185, true, true}, {329, 185, true, false},
{329, 185, true, true}, {329, 281, true, true}, {0, 30, false, false}, {0, 61, false, false},
{0, 181, true, true}, {0, 185, true, true}, {369, 92, false, true}, {369, 92, false, true},
{369, 92, false, true}, {369, 92, false, true}, {369, 185, false, true}, {369, 96, false, true},
{0, 88, false, false}, {493, 185, false, true}, {493, 127, false, true}, {0, 57, false, false},
{440, 185, false, true}, {440, 127, false, true}, {0, 57, false, false}, {523, 92, false, true},
{523, 92, false, true}, {523, 92, false, true}, {523, 92, false, true}, {523, 185, false, true},
{523, 185, false, true}, {523, 185, false, true}, {523, 96, false, true}, {0, 88, false, false},
{0, 185, false, true}, {0, 185, false, true}, {493, 92, false, true}, {493, 92, false, true},
{493, 92, false, true}, {493, 34, false, true}, {0, 57, false, false}, {493, 185, false, true},
{493, 127, false, true}, {0, 57, false, false}, {659, 185, false, true}, {659, 127, false, true},
{0, 57, false, false}, {587, 185, false, true}, {587, 127, false, true}, {0, 57, false, false},
{493, 92, false, true}, {493, 92, false, true}, {493, 92, false, true}, {493, 92, false, true},
{493, 185, false, true}, {493, 185, false, true}, {493, 185, false, false}, {493, 96, false, true},
{293, 88, false, false}, {0, 185, false, true}, {293, 185, false, true}, {440, 312, false, true},
{440, 61, false, false}, {440, 123, false, true}, {0, 61, false, false}, {440, 123, false, false},
{440, 61, false, false}, {440, 181, false, true}, {440, 127, false, true}, {0, 57, false, false},
{0, 185, false, true}, {0, 185, false, true}, {0, 185, false, true}, {440, 185, false, true},
{440, 185, false, true}, {440, 127, false, true}, {0, 57, false, false}, {0, 185, false, true},
{0, 127, false, true}, {0, 57, false, false}, {329, 312, false, true}, {0, 61, false, false},
{293, 308, false, true}, {293, 61, false, false}, {293, 308, false, true}, {293, 61, false, false},
{293, 181, true, false}, {293, 185, false, true}, {293, 185, true, false}, {293, 185, false, true},
{293, 185, true, false}, {293, 185, false, true}, {293, 185, true, false}, {293, 96, false, true},
{0, 88, false, false}, {0, 185, false, true}, {0, 185, false, true}, {0, 312, false, true},
{0, 61, false, false}, {440, 181, false, true}, {440, 185, false, true}, {440, 185, false, true},
{440, 96, false, true}, {0, 88, false, false}, {493, 312, false, true}, {0, 61, false, false},
{440, 181, false, true}, {440, 127, false, true}, {0, 57, false, false}, {293, 185, false, true},
{293, 185, false, true}, {293, 185, false, true}, {293, 185, false, true}, {293, 281, false, true},
{0, 30, false, false}, {0, 61, false, false}, {0, 181, false, true}, {0, 185, true, false},
{0, 185, true, true}, {0, 127, false, true}, {0, 57, false, false}, {0, 92, true, true},
{0, 220, false, true}, {0, 57, false, false}, {329, 277, true, true}, {329, 34, false, true},
{0, 57, false, false}, {293, 185, true, false}, {293, 127, false, true}, {0, 57, false, false},
{0, 185, true, true}, {0, 185, false, true}, {0, 185, true, false}, {0, 185, false, true},
{0, 281, true, true}, {0, 30, false, false}, {0, 61, false, false}, {0, 308, true, true},
{0, 61, false, false}, {0, 181, true, true}, {0, 185, false, true}, {0, 127, true, false},
{0, 57, false, false}, {0, 185, false, true}, {0, 185, true, false}, {0, 127, false, true},
{0, 57, false, false}, {440, 185, true, false}, {440, 185, false, true}, {440, 185, true, false},
{0, 185, false, true}, {0, 185, true, false}, {0, 127, false, true}, {0, 57, false, false},
{0, 185, true, true}, {0, 127, false, true}, {0, 57, false, false}, {440, 185, true, false},
{440, 127, false, true}, {0, 57, false, false}, {0, 185, true, true}, {0, 185, false, true},
{0, 185, true, false}, {0, 96, false, true}, {0, 88, false, false}, {0, 185, true, false},
{0, 185, false, true}, {440, 185, true, false}, {440, 127, false, true}, {0, 57, false, false},
{329, 185, false, true}, {329, 185, true, true}, {329, 185, true, false}, {329, 185, true, true},
{329, 281, true, true}, {0, 30, false, false}, {0, 61, false, false}, {0, 181, true, true},
{0, 185, true, true}, {369, 92, false, true}, {369, 92, false, true}, {369, 92, false, true},
{369, 92, false, true}, {369, 185, false, true}, {369, 96, false, true}, {0, 88, false, false},
{493, 185, false, true}, {493, 127, false, true}, {0, 57, false, false}, {440, 185, false, true},
{440, 127, false, true}, {0, 57, false, false}, {523, 92, false, true}, {523, 92, false, true},
{523, 92, false, true}, {523, 92, false, true}, {523, 185, false, true}, {523, 185, false, true},
{523, 185, false, true}, {523, 96, false, true}, {0, 88, false, false}, {0, 185, false, true},
{0, 185, false, true}, {493, 92, false, true}, {493, 92, false, true}, {493, 92, false, true},
{493, 34, false, true}, {0, 57, false, false}, {493, 185, false, true}, {493, 127, false, true},
{0, 57, false, false}, {659, 185, false, true}, {659, 127, false, true}, {0, 57, false, false},
{587, 185, false, true}, {587, 127, false, true}, {0, 57, false, false}, {493, 92, false, true},
{493, 92, false, true}, {493, 92, false, true}, {493, 92, false, true}, {493, 185, false, true},
{493, 185, false, true}, {493, 185, false, false}, {493, 96, false, true}, {293, 88, false, false},
{0, 185, false, true}, {293, 185, false, true}, {440, 312, false, true}, {440, 61, false, false},
{440, 123, false, true}, {0, 61, false, false}, {440, 123, false, false}, {440, 61, false, false},
{440, 181, false, true}, {440, 127, false, true}, {0, 57, false, false}, {0, 185, false, true},
{0, 185, false, true}, {0, 185, false, true}, {440, 185, false, true}, {440, 185, false, true},
{440, 127, false, true}, {0, 57, false, false}, {0, 185, false, true}, {0, 127, false, true},
{0, 57, false, false}, {329, 312, false, true}, {0, 61, false, false}, {293, 308, false, true},
{293, 61, false, false}, {293, 181, true, true}, {293, 185, true, false}, {293, 185, false, true},
{293, 185, false, true}, {293, 185, true, false}, {293, 96, false, true}, {0, 88, false, false},
{0, 185, false, true}, {587, 185, false, true}, {554, 185, true, false}, {587, 185, true, true},
{659, 185, false, true}, {739, 185, false, true}, {783, 185, false, true}, {880, 185, false, true},
{987, 277, false, true}, {987, 92, false, true}, {987, 185, false, true}, {987, 96, false, true},
{0, 88, false, false}, {932, 312, false, true}, {932, 61, false, false}, {932, 277, false, true},
{0, 30, false, false}, {0, 61, false, false}, {880, 273, false, true}, {880, 92, false, true},
{880, 185, false, true}, {880, 96, false, true}, {0, 88, false, false}, {987, 185, false, true},
{987, 127, false, true}, {0, 57, false, false}, {739, 92, false, true}, {739, 220, false, true},
{0, 57, false, false}, {783, 277, false, true}, {783, 92, true, true}, {783, 185, false, true},
{783, 96, true, true}, {0, 88, false, false}, {880, 312, true, true}, {880, 61, false, false},
{880, 277, false, true}, {0, 30, false, false}, {0, 61, false, false}, {739, 181, false, true},
{739, 185, true, true}, {739, 185, true, false}, {739, 96, true, true}, {0, 88, false, false},
{0, 185, false, true}, {880, 185, true, true}, {987, 185, false, true}, {1108, 185, true, true},
{1174, 312, true, true}, {1174, 61, false, false}, {1174, 277, false, true}, {0, 30, false, false},
{0, 61, false, false}, {0, 185, true, true}, {1108, 123, false, false}, {1108, 57, false, false},
{1174, 185, true, true}, {1318, 127, false, false}, {1318, 57, false, false}, {1479, 185, false, true},
{1479, 185, true, true}, {1479, 185, true, false}, {1479, 96, false, true}, {0, 88, false, false},
{880, 312, true, true}, {0, 61, false, false}, {1479, 308, true, true}, {0, 61, false, false},
{1318, 181, false, true}, {1318, 185, true, true}, {1318, 185, false, true}, {1318, 96, true, true},
{0, 88, false, false}, {1174, 185, false, true}, {1174, 127, true, true}, {0, 57, false, false},
{1108, 185, false, true}, {1108, 127, true, true}, {0, 57, false, false}, {1174, 312, true, true},
{1174, 61, false, false}, {1174, 308, true, false}, {1174, 61, false, false}, {1174, 181, false, true},
{1174, 185, true, true}, {1174, 92, true, false}, {1174, 189, true, true}, {0, 88, false, false},
{277, 92, false, true}, {293, 92, false, false}, {277, 92, true, true}, {293, 92, false, false},
{329, 92, true, false}, {293, 92, false, false}, {277, 92, true, true}, {293, 92, false, false},
{277, 92, true, false}, {293, 92, false, false}, {277, 92, true, true}, {293, 92, false, false},
{329, 92, true, false}, {293, 92, false, false}, {277, 92, true, true}, {293, 92, false, false},
{277, 92, false, true}, {293, 92, false, false}, {277, 92, true, true}, {293, 92, false, false},
{391, 92, true, false}, {293, 92, false, false}, {277, 92, true, true}, {293, 92, false, false},
{440, 92, false, true}, {293, 92, false, false}, {277, 92, true, true}, {293, 92, false, false},
{391, 92, false, true}, {293, 92, false, false}, {277, 92, true, true}, {293, 92, false, false},
{277, 92, true, true}, {293, 92, false, false}, {277, 92, false, false}, {293, 34, false, false},
{293, 57, false, false}, {329, 92, false, true}, {293, 92, false, false}, {277, 92, true, true},
{293, 92, false, false}, {277, 92, false, true}, {293, 92, false, false}, {277, 92, true, true},
{293, 92, false, false}, {329, 92, false, true}, {293, 92, false, false}, {277, 92, true, true},
{293, 92, false, false}, {277, 92, false, true}, {293, 92, false, false}, {277, 92, true, true},
{293, 92, false, false}, {391, 92, false, true}, {293, 92, false, false}, {277, 92, true, true},
{293, 92, false, false}, {440, 92, false, true}, {293, 92, false, false}, {277, 92, true, true},
{293, 92, false, true}, {391, 92, false, true}, {293, 92, false, false}, {277, 92, true, true},
{293, 92, false, false}, {880, 277, true, true}, {880, 34, true, true}, {0, 57, false, false},
{0, 185, true, false}, {0, 185, true, true}, {880, 185, true, false}, {880, 127, true, true},
{0, 57, false, false}, {0, 185, true, false}, {0, 185, true, true}, {880, 312, true, true},
{0, 61, false, false}, {739, 181, true, false}, {739, 127, true, true}, {0, 57, false, false},
{659, 185, false, true}, {659, 127, true, true}, {0, 57, false, false}, {622, 185, false, true},
{622, 127, true, true}, {0, 57, false, false}, {587, 277, true, true}, {587, 34, true, true},
{0, 57, false, false}, {0, 185, false, true}, {0, 185, true, true}, {587, 185, false, true},
{587, 127, true, true}, {0, 57, false, false}, {0, 185, false, true}, {0, 185, true, true},
{587, 185, false, true}, {587, 127, true, true}, {0, 57, false, false}, {0, 185, false, true},
{493, 92, true, true}, {523, 92, false, false}, {587, 185, false, true}, {587, 127, true, true},
{0, 57, false, false}, {659, 185, false, true}, {659, 127, true, true}, {0, 57, false, false},
{587, 312, true, true}, {0, 61, false, false}, {0, 185, true, false}, {587, 123, false, false},
{587, 57, false, false}, {739, 185, false, true}, {739, 127, true, true}, {0, 57, false, false},
{880, 92, true, false}, {880, 220, true, true}, {0, 57, false, false}, {830, 312, true, true},
{0, 61, false, false}, {880, 181, true, false}, {880, 127, true, true}, {0, 57, false, false},
{830, 92, false, true}, {880, 92, false, false}, {830, 92, true, true}, {739, 92, false, false},
{587, 185, false, true}, {440, 185, true, true}, {493, 277, true, true}, {554, 34, false, false},
{554, 57, false, false}, {587, 185, false, true}, {587, 92, true, true}, {659, 92, false, false},
{739, 92, true, true}, {698, 92, false, false}, {739, 92, false, false}, {783, 34, false, false},
{783, 57, false, false}, {880, 92, true, true}, {783, 92, false, false}, {739, 92, false, false},
{659, 34, false, false}, {659, 57, false, false}, {587, 92, false, true}, {554, 92, false, false},
{587, 92, true, true}, {880, 92, false, false}, {554, 92, false, true}, {523, 92, false, false},
{554, 92, true, true}, {880, 92, false, false}, {554, 92, false, true}, {523, 92, false, false},
{493, 92, true, true}, {466, 92, false, false}, {440, 92, false, true}, {415, 92, false, false},
{391, 92, true, true}, {329, 92, false, false}, {0, 2405, true, true}, {440, 293, false, false},
{1174, 300, false, false}, {880, 300, false, false}, {830, 2557, false, false}, {0, 4251, false, false},
{0, 100, false, false}, {0, 1800, true, true}, {440, 293, false, false}, {1174, 300, false, false},
{880, 300, false, false}, {830, 2007, false, false}, {0, 100, false, false}, {1975, 500, false, false},
{0, 3551, false, false}, {0, 150, false, false}, {0, 2401, true, true}, {440, 293, false, false},
{1174, 300, false, false}, {880, 300, false, false}, {830, 1357, false, false}, {0, 150, false, false},
{0, 150, true, true}, {440, 143, false, false}, {587, 150, false, false}, {880, 150, false, false},
{830, 150, false, false}, {440, 150, false, false}, {587, 150, false, false}, {783, 150, false, false},
{698, 150, false, false}, {440, 150, false, false}, {587, 150, false, false}, {698, 150, false, false},
{659, 150, false, false}, {391, 150, false, false}, {554, 150, false, false}, {659, 150, false, false},
{587, 300, false, false}, {440, 150, false, false}, {587, 56, false, false}, {587, 93, false, false},
{554, 300, true, true}, {391, 150, false, false}, {466, 56, false, false}, {466, 93, false, false},
{440, 300, true, true}, {440, 150, false, false}, {587, 150, false, false}, {698, 150, false, false},
{440, 150, false, false}, {587, 150, false, false}, {698, 150, false, false}, {466, 150, true, false},
{391, 150, false, false}, {466, 150, false, false}, {554, 150, false, false}, {659, 150, false, false},
{466, 150, false, false}, {554, 150, false, false}, {659, 150, false, false}, {698, 150, true, false},
{880, 150, false, false}, {1174, 150, false, false}, {880, 150, false, false}, {698, 150, false, false},
{1174, 150, false, false}, {880, 150, false, false}, {698, 150, false, false}, {659, 150, true, false},
{783, 150, false, false}, {1108, 150, false, false}, {783, 150, false, false}, {659, 150, false, false},
{1108, 150, false, false}, {783, 150, false, false}, {659, 150, false, false}, {587, 150, true, true},
{698, 150, false, false}, {880, 150, false, false}, {698, 150, false, false}, {587, 150, false, false},
{880, 150, false, false}, {698, 150, false, false}, {587, 150, false, false}, {554, 300, true, true},
{783, 300, true, false}, {932, 300, true, false}, {880, 300, true, false}, {783, 1056, true, false},
{0, 150, false, false}, {0, 150, true, true}, {1174, 143, false, false}, {1108, 150, false, false},
{1174, 150, false, false}, {1244, 150, false, false}, {1174, 150, false, false}, {1108, 150, false, false},
{830, 150, false, false}, {880, 150, false, false}, {698, 150, false, false}, {659, 150, false, false},
{698, 150, false, false}, {783, 150, false, false}, {698, 150, false, false}, {659, 150, false, false},
{554, 150, false, false}, {587, 506, false, false}, {0, 543, false, false}, {0, 150, false, true},
{0, 150, false, true}, {0, 150, false, true}, {0, 150, true, false}, {0, 150, false, true},
{0, 150, false, true}, {0, 150, false, true}, {0, 150, true, false}, {0, 150, true, false},
{0, 300, true, true}, {0, 300, false, true}, {0, 300, true, true}, {391, 300, false, true},
{0, 300, true, true}, {466, 300, false, true}, {440, 300, true, false}, {554, 300, false, true},
{587, 150, true, false}, {440, 150, false, false}, {587, 150, false, false}, {880, 56, false, false},
{880, 93, false, false}, {830, 150, false, false}, {440, 150, false, false}, {587, 150, false, false},
{783, 150, false, false}, {698, 150, false, false}, {440, 150, false, false}, {587, 150, false, false},
{698, 150, false, false}, {659, 150, false, false}, {391, 150, false, false}, {554, 150, false, false},
{659, 150, false, false}, {587, 300, false, false}, {440, 150, false, false}, {587, 150, false, false},
{554, 300, false, false}, {391, 150, false, false}, {466, 150, false, false}, {440, 300, false, false},
{440, 150, false, false}, {587, 150, false, false}, {698, 150, false, false}, {440, 150, false, false},
{587, 150, false, false}, {698, 150, false, false}, {659, 150, false, false}, {391, 150, false, false},
{466, 150, false, false}, {554, 150, false, false}, {659, 150, false, false}, {554, 150, false, false},
{659, 150, false, false}, {783, 150, false, false}, {698, 150, false, false}, {880, 150, false, false},
{1174, 150, false, false}, {880, 150, false, false}, {698, 150, false, false}, {1174, 150, false, false},
{880, 150, false, false}, {698, 150, false, false}, {659, 150, false, false}, {783, 150, false, false},
{1108, 150, false, false}, {783, 150, false, false}, {659, 150, false, false}, {1108, 150, false, false},
{783, 150, false, false}, {659, 150, false, false}, {0, 156, true, true}, {440, 143, false, false},
{587, 150, false, false}, {440, 150, false, false}, {698, 150, false, false}, {440, 150, false, false},
{587, 150, false, false}, {440, 150, false, false}, {622, 150, true, true}, {391, 150, false, false},
{587, 150, true, true}, {440, 150, false, false}, {622, 150, true, false}, {440, 150, false, false},
{587, 150, true, false}, {440, 150, false, false}, {0, 156, true, false}, {391, 143, false, false},
{554, 150, false, false}, {391, 150, false, false}, {0, 156, false, false}, {391, 143, false, false},
{554, 150, false, false}, {391, 150, false, false}, {0, 156, false, false}, {391, 143, false, false},
{554, 150, false, false}, {391, 150, false, false}, {0, 156, false, false}, {391, 143, false, false},
{554, 150, false, false}, {391, 150, false, false}, {0, 156, true, false}, {415, 143, false, false},
{493, 150, false, false}, {415, 150, false, false}, {587, 150, false, false}, {415, 150, false, false},
{493, 150, false, false}, {415, 150, false, false}, {0, 156, true, false}, {415, 143, false, false},
{493, 150, true, false}, {415, 150, false, false}, {554, 150, true, false}, {391, 150, false, false},
{466, 150, true, false}, {391, 150, false, false}, {0, 156, true, true}, {440, 143, false, false},
{587, 150, false, false}, {440, 150, false, false}, {698, 150, false, false}, {440, 150, false, false},
{587, 150, false, false}, {440, 150, false, false}, {0, 156, false, false}, {440, 143, false, false},
{587, 150, false, false}, {440, 150, false, false}, {698, 150, false, false}, {587, 150, false, false},
{698, 150, false, false}, {880, 150, false, false}, {1174, 150, true, true}, {587, 150, false, false},
{698, 150, false, false}, {587, 150, false, false}, {880, 150, false, false}, {587, 150, false, false},
{698, 150, false, false}, {587, 150, false, false}, {880, 150, false, true}, {587, 150, false, false},
{698, 300, false, true}, {880, 150, true, false}, {587, 150, false, false}, {698, 150, true, false},
{587, 150, false, false}, {440, 150, true, true}, {554, 150, false, false}, {659, 150, false, false},
{554, 150, false, false}, {783, 150, false, false}, {554, 150, false, false}, {659, 150, false, false},
{554, 150, false, false}, {440, 150, false, false}, {554, 150, false, false}, {659, 150, false, false},
{554, 150, false, false}, {783, 150, false, false}, {554, 150, false, false}, {659, 150, false, false},
{554, 150, false, false}, {493, 150, true, true}, {587, 150, false, false}, {698, 150, false, false},
{587, 150, false, false}, {830, 150, false, false}, {587, 150, false, false}, {698, 150, false, false},
{587, 150, false, false}, {493, 150, true, false}, {587, 150, false, false}, {698, 150, true, false},
{587, 150, false, false}, {783, 150, true, true}, {466, 150, false, false}, {554, 150, true, false},
{466, 150, false, false}, {440, 150, true, true}, {587, 150, false, false}, {698, 150, false, false},
{587, 150, false, false}, {880, 150, false, false}, {440, 150, false, false}, {587, 150, false, false},
{698, 150, false, false}, {880, 300, false, false}, {880, 300, false, false}, {880, 300, false, false},
{880, 156, false, false}, {880, 143, false, false}, {0, 156, false, false}, {349, 143, false, true},
{349, 150, false, true}, {349, 150, false, true}, {329, 150, false, true}, {329, 150, false, true},
{277, 150, false, true}, {277, 150, false, true}, {293, 150, false, true}, {293, 150, false, true},
{349, 150, false, true}, {349, 150, false, true}, {329, 150, false, true}, {329, 150, false, true},
{261, 150, false, true}, {261, 150, false, true}, {0, 156, false, false}, {466, 143, false, false},
{466, 150, false, false}, {466, 150, false, false}, {587, 150, false, false}, {587, 150, false, false},
{466, 150, false, false}, {466, 150, false, false}, {932, 150, false, false}, {932, 150, false, false},
{783, 150, false, false}, {783, 150, false, false}, {1108, 150, false, false}, {1108, 150, false, false},
{932, 150, false, false}, {932, 150, false, false}, {0, 156, true, true}, {440, 143, false, false},
{587, 150, false, false}, {880, 150, false, false}, {830, 150, false, false}, {440, 150, false, false},
{587, 150, false, false}, {783, 150, false, false}, {698, 150, false, false}, {440, 150, false, false},
{587, 150, false, false}, {698, 150, false, false}, {659, 150, false, false}, {391, 150, false, false},
{554, 150, false, false}, {659, 150, false, false}, {587, 300, false, false}, {440, 150, false, false},
{587, 150, false, false}, {554, 300, true, true}, {391, 150, false, false}, {466, 56, false, false},
{466, 93, false, false}, {440, 300, true, true}, {440, 150, false, false}, {587, 150, false, false},
{698, 150, false, false}, {440, 150, false, false}, {587, 150, false, false}, {698, 150, false, false},
{466, 150, true, false}, {391, 150, false, false}, {466, 150, false, false}, {554, 150, false, false},
{659, 150, false, false}, {466, 150, false, false}, {554, 150, false, false}, {659, 150, false, false},
{698, 150, true, false}, {880, 150, false, false}, {1174, 150, false, false}, {880, 150, false, false},
{698, 150, false, false}, {1174, 150, false, false}, {880, 150, false, false}, {698, 150, false, false},
{659, 150, true, false}, {783, 150, false, false}, {1108, 150, false, false}, {783, 150, false, false},
{659, 150, false, false}, {1108, 150, false, false}, {783, 150, false, false}, {659, 150, false, false},
{587, 150, true, true}, {698, 150, false, false}, {880, 150, false, false}, {698, 150, false, false},
{587, 150, false, false}, {880, 150, false, false}, {698, 150, false, false}, {587, 150, false, false},
{554, 300, true, true}, {783, 300, true, false}, {932, 300, true, false}, {880, 300, true, false},
{783, 1056, true, false}, {0, 150, false, false}, {0, 150, true, true}, {1174, 143, false, false},
{1046, 150, false, false}, {1174, 150, false, false}, {1244, 150, false, false}, {1174, 150, false, false},
{1046, 150, false, false}, {830, 150, false, false}, {880, 150, false, false}, {698, 150, false, false},
{659, 150, false, false}, {698, 150, false, false}, {783, 150, false, false}, {698, 150, false, false},
{659, 150, false, false}, {554, 150, false, false}, {587, 506, false, false}, {0, 543, false, false},
{0, 150, false, true}, {0, 150, false, true}, {0, 150, false, true}, {0, 150, true, false},
{0, 150, false, true}, {0, 150, false, true}, {0, 150, false, true}, {0, 150, true, false},
{0, 150, true, false}, {0, 300, true, true}, {0, 300, false, true}, {0, 300, true, true},
{391, 300, false, true}, {0, 300, true, true}, {466, 300, false, true}, {440, 300, true, false},
{554, 300, false, true}, {587, 150, true, false}, {440, 150, false, false}, {587, 150, false, false},
{880, 56, false, false}, {880, 93, false, false}, {830, 150, false, false}, {440, 150, false, false},
{587, 150, false, false}, {783, 150, false, false}, {698, 150, false, false}, {440, 150, false, false},
{587, 150, false, false}, {698, 150, false, false}, {659, 150, false, false}, {391, 150, false, false},
{554, 150, false, false}, {659, 150, false, false}, {587, 150, false, false}, {349, 150, false, false},
{440, 150, false, false}, {587, 150, false, false}, {554, 300, false, false}, {391, 150, false, false},
{466, 150, false, false}, {440, 150, false, false}, {349, 150, false, false}, {440, 150, false, false},
{587, 150, false, false}, {698, 150, false, false}, {440, 150, false, false}, {587, 150, false, false},
{698, 150, false, false}, {659, 150, false, false}, {391, 150, false, false}, {466, 150, false, false},
{554, 150, false, false}, {659, 150, false, false}, {554, 150, false, false}, {659, 150, false, false},
{783, 150, false, false}, {698, 150, false, false}, {880, 150, false, false}, {1174, 150, false, false},
{880, 150, false, false}, {698, 150, false, false}, {1174, 150, false, false}, {880, 150, false, false},
{698, 150, false, false}, {659, 150, false, false}, {783, 150, false, false}, {1108, 150, false, false},
{783, 150, false, false}, {659, 150, false, false}, {1108, 150, false, false}, {783, 150, false, false},
{659, 150, false, false}, {0, 156, true, true}, {440, 143, false, false}, {587, 150, false, false},
{440, 150, false, false}, {698, 150, false, false}, {440, 150, false, false}, {587, 150, false, false},
{440, 150, false, false}, {622, 150, true, true}, {391, 150, false, false}, {587, 150, true, true},
{440, 150, false, false}, {622, 150, true, false}, {440, 150, false, false}, {587, 150, true, false},
{440, 150, false, false}, {0, 156, true, false}, {391, 143, false, false}, {554, 150, false, false},
{391, 150, false, false}, {0, 156, false, false}, {391, 143, false, false}, {554, 150, false, false},
{391, 150, false, false}, {0, 156, false, false}, {391, 143, false, false}, {554, 150, false, false},
{391, 150, false, false}, {0, 156, false, false}, {391, 143, false, false}, {554, 150, false, false},
{391, 150, false, false}, {0, 156, true, false}, {415, 143, false, false}, {493, 150, false, false},
{415, 150, false, false}, {587, 150, false, false}, {415, 150, false, false}, {493, 150, false, false},
{415, 150, false, false}, {0, 156, true, false}, {415, 143, false, false}, {493, 150, true, false},
{415, 150, false, false}, {554, 150, true, false}, {391, 150, false, false}, {466, 150, true, false},
{391, 150, false, false}, {0, 156, true, true}, {440, 143, false, false}, {587, 150, false, false},
{440, 150, false, false}, {698, 150, false, false}, {440, 150, false, false}, {587, 150, false, false},
{440, 150, false, false}, {0, 156, false, false}, {440, 143, false, false}, {587, 150, false, false},
{440, 150, false, false}, {698, 150, false, false}, {587, 150, false, false}, {698, 150, false, false},
{880, 150, false, false}, {1174, 150, true, true}, {587, 150, false, false}, {698, 150, false, false},
{587, 150, false, false}, {880, 150, false, false}, {587, 150, false, false}, {698, 150, false, false},
{587, 150, false, false}, {880, 150, false, true}, {587, 150, false, false}, {698, 300, false, true},
{880, 150, true, false}, {587, 150, false, false}, {698, 150, true, false}, {587, 150, false, false},
{440, 150, true, true}, {554, 150, false, false}, {659, 150, false, false}, {554, 150, false, false},
{783, 150, false, false}, {554, 150, false, false}, {659, 150, false, false}, {554, 150, false, false},
{440, 150, false, false}, {554, 150, false, false}, {659, 150, false, false}, {554, 150, false, false},
{783, 150, false, false}, {554, 150, false, false}, {659, 150, false, false}, {554, 150, false, false},
{493, 150, true, true}, {587, 150, false, false}, {698, 150, false, false}, {587, 150, false, false},
{830, 150, false, false}, {587, 150, false, false}, {698, 150, false, false}, {587, 150, false, false},
{493, 150, true, false}, {587, 150, false, false}, {698, 150, true, false}, {587, 150, false, false},
{783, 150, true, true}, {466, 150, false, false}, {554, 150, true, false}, {466, 150, false, false},
{440, 150, true, true}, {587, 150, false, false}, {698, 150, false, false}, {587, 150, false, false},
{880, 150, false, false}, {440, 150, false, false}, {587, 150, false, false}, {698, 150, false, false},
{880, 300, false, false}, {880, 300, false, false}, {880, 300, false, false}, {880, 156, false, false},
{880, 143, false, false}, {0, 156, false, false}, {349, 143, false, true}, {349, 150, false, true},
{349, 150, false, true}, {329, 150, false, true}, {329, 150, false, true}, {277, 150, false, true},
{277, 150, false, true}, {293, 150, false, true}, {293, 150, false, true}, {349, 150, false, true},
{349, 150, false, true}, {329, 150, false, true}, {329, 150, false, true}, {277, 150, false, true},
{277, 150, false, true}, {0, 156, false, false}, {440, 143, false, false}, {440, 150, false, false},
{440, 150, false, false}, {587, 150, false, false}, {587, 150, false, false}, {440, 150, false, false},
{440, 150, false, false}, {932, 150, false, false}, {932, 150, false, false}, {783, 150, false, false},
{783, 150, false, false}, {1108, 150, false, false}, {1108, 150, false, false}, {932, 150, false, false},
{932, 150, false, false}, {0, 906, false, false}, {293, 195, false, false}, {349, 200, false, false},
{369, 100, false, false}, {391, 200, false, false}, {261, 200, false, true}, {261, 200, false, true},
{261, 200, false, true}, {0, 100, false, true}, {261, 100, false, true}, {0, 104, false, false},
{261, 195, false, true}, {0, 100, false, true}, {261, 100, false, true}, {0, 100, false, true},
{261, 200, false, true}, {0, 200, false, true}, {0, 200, false, true}, {0, 200, false, true},
{0, 100, false, true}, {0, 100, false, true}, {0, 104, false, false}, {0, 195, false, true},
{0, 100, false, true}, {0, 100, false, true}, {0, 100, false, true}, {0, 200, false, true},
{261, 200, false, true}, {261, 200, false, true}, {261, 200, false, true}, {0, 100, false, true},
{261, 100, false, true}, {0, 104, false, false}, {261, 195, false, true}, {0, 100, false, true},
{261, 100, false, true}, {0, 100, false, true}, {261, 200, false, true}, {0, 200, false, true},
{0, 200, false, true}, {0, 200, false, true}, {0, 100, false, true}, {0, 100, false, true},
{0, 104, false, false}, {0, 195, false, true}, {0, 100, false, true}, {0, 100, false, true},
{0, 100, false, true}, {0, 200, false, true}, {261, 1504, false, true}, {0, 100, false, false},
{329, 954, true, true}, {0, 409, false, false}, {329, 266, false, false}, {349, 204, false, false},
{391, 210, false, false}, {391, 130, false, false}, {440, 960, true, false}, {0, 409, false, false},
{440, 266, false, false}, {391, 204, false, false}, {349, 210, false, false}, {349, 130, false, false},
{329, 960, true, true}, {0, 409, false, false}, {329, 266, false, false}, {349, 204, false, false},
{391, 210, false, false}, {391, 130, false, false}, {440, 960, true, false}, {0, 136, false, false},
{0, 272, true, false}, {493, 266, false, false}, {523, 204, false, false}, {587, 210, false, false},
{587, 130, false, false}, {329, 960, true, true}, {0, 409, false, false}, {329, 266, false, false},
{349, 204, false, false}, {391, 210, false, false}, {391, 130, false, false}, {440, 960, true, false},
{0, 136, false, false}, {493, 266, true, false}, {493, 272, true, false}, {0, 210, false, false},
{493, 335, true, false}, {329, 272, true, false}, {329, 272, true, false}, {329, 187, true, false},
{0, 85, false, false}, {329, 272, true, false}, {349, 272, true, false}, {329, 272, true, false},
{349, 272, true, false}, {391, 272, true, false}, {329, 272, true, false}, {329, 272, true, false},
{329, 272, true, false}, {329, 142, true, false}, {0, 130, false, false}, {261, 272, true, false},
{261, 187, true, false}, {0, 85, false, false}, {329, 272, true, false}, {391, 272, true, false},
{440, 272, true, false}, {440, 187, true, false}, {0, 85, false, false}, {440, 272, true, false},
{440, 272, true, false}, {493, 272, true, false}, {493, 187, true, false}, {0, 85, false, false},
{587, 272, true, false}, {523, 272, true, false}, {391, 272, true, false}, {391, 272, true, false},
{391, 272, true, false}, {391, 272, true, false}, {391, 272, true, false}, {391, 142, true, false},
{0, 130, false, false}, {0, 136, true, false}, {0, 409, true, false}, {440, 272, true, false},
{440, 272, true, false}, {440, 187, true, false}, {0, 85, false, false}, {440, 272, true, false},
{493, 272, true, false}, {493, 187, true, false}, {0, 85, false, false}, {587, 272, true, false},
{523, 272, true, false}, {391, 272, true, false}, {391, 272, true, false}, {391, 272, true, false},
{391, 142, true, false}, {0, 130, false, false}, {523, 272, true, false}, {523, 187, true, false},
{0, 85, false, false}, {261, 272, true, false}, {293, 272, true, false}, {349, 272, true, false},
{349, 272, true, false}, {349, 187, true, false}, {0, 85, false, false}, {391, 272, true, false},
{391, 68, true, false}, {349, 204, false, false}, {349, 68, true, false}, {329, 204, false, false},
{293, 272, true, false}, {261, 272, true, false}, {391, 272, true, false}, {391, 272, true, false},
{391, 272, true, false}, {391, 272, true, false}, {391, 272, true, false}, {391, 272, true, false},
{391, 272, true, false}, {391, 142, true, false}, {0, 130, false, false}, {329, 272, true, false},
{329, 272, true, false}, {329, 187, true, false}, {0, 85, false, false}, {329, 272, true, false},
{349, 272, true, false}, {329, 272, true, false}, {349, 272, true, false}, {391, 272, true, false},
{329, 272, true, false}, {329, 272, true, false}, {329, 272, true, false}, {329, 142, true, false},
{0, 130, false, false}, {261, 272, true, false}, {261, 187, true, false}, {0, 85, false, false},
{329, 272, true, false}, {391, 272, true, false}, {440, 272, true, false}, {440, 187, true, false},
{0, 85, false, false}, {440, 272, true, false}, {440, 272, true, false}, {493, 272, true, false},
{493, 187, true, false}, {0, 85, false, false}, {587, 272, true, false}, {523, 272, true, false},
{391, 272, true, false}, {391, 272, true, false}, {391, 272, true, false}, {391, 272, true, false},
{391, 272, true, false}, {391, 142, true, false}, {0, 130, false, false}, {0, 136, true, false},
{0, 409, true, false}, {440, 272, true, false}, {440, 272, true, false}, {440, 187, true, false},
{0, 85, false, false}, {440, 272, true, false}, {493, 272, true, false}, {493, 187, true, false},
{0, 85, false, false}, {587, 272, true, false}, {523, 272, true, false}, {391, 272, true, false},
{391, 272, true, false}, {391, 272, true, false}, {391, 142, true, false}, {0, 130, false, false},
{523, 272, true, false}, {523, 187, true, false}, {0, 85, false, false}, {523, 272, true, false},
{587, 272, true, false}, {698, 272, true, false}, {698, 187, true, false}, {0, 85, false, false},
{659, 272, true, false}, {659, 187, true, false}, {0, 85, false, false}, {493, 272, true, false},
{493, 187, true, false}, {0, 85, false, false}, {0, 272, true, false}, {523, 272, true, false},
{523, 272, true, false}, {523, 272, true, false}, {523, 272, true, false}, {523, 142, true, false},
{0, 130, false, false}, {0, 272, true, false}, {0, 272, true, false}, {0, 272, true, false},
{0, 272, true, false}, {523, 460, true, false}, {0, 272, false, false}, {0, 91, false, false},
{587, 266, true, false}, {0, 551, false, false}, {659, 409, false, false}, {659, 45, false, false},
{0, 91, false, false}, {493, 454, true, false}, {0, 272, false, false}, {0, 91, false, false},
{391, 266, true, false}, {0, 551, false, false}, {329, 409, false, false}, {329, 45, false, false},
{0, 91, false, false}, {440, 454, true, false}, {0, 272, false, false}, {0, 91, false, false},
{493, 266, true, false}, {0, 551, false, false}, {523, 409, false, false}, {523, 45, false, false},
{0, 91, false, false}, {391, 454, true, false}, {0, 272, false, false}, {0, 91, false, false},
{0, 1227, true, false}, {0, 136, false, false}, {349, 454, true, false}, {0, 363, false, false},
{391, 266, false, false}, {0, 415, false, false}, {0, 136, false, false}, {440, 454, true, false},
{0, 91, false, false}, {391, 454, true, false}, {0, 363, false, false}, {493, 266, false, false},
{0, 415, false, false}, {0, 136, false, false}, {523, 454, true, false}, {0, 91, false, false},
{440, 454, true, false}, {0, 1046, false, false}, {0, 136, false, false}, {523, 454, true, false},
{0, 91, false, false}, {587, 454, true, false}, {0, 1591, false, false}, {0, 136, false, false},
{659, 266, true, false}, {587, 272, true, false}, {659, 272, true, false}, {698, 272, true, false},
{783, 272, true, false}, {783, 187, true, false}, {0, 85, false, false}, {659, 272, true, false},
{587, 272, true, false}, {587, 272, true, false}, {587, 272, true, false}, {587, 187, true, false},
{0, 85, false, false}, {523, 272, true, false}, {523, 272, true, false}, {523, 187, true, false},
{0, 85, false, false}, {659, 272, true, false}, {783, 272, true, false}, {880, 272, true, false},
{783, 272, true, false}, {880, 272, true, false}, {987, 272, true, false}, {1046, 272, true, false},
{1046, 187, true, false}, {0, 85, false, false}, {783, 272, true, false}, {698, 272, true, false},
{659, 272, true, false}, {659, 187, true, false}, {0, 85, false, false}, {659, 272, true, false},
{698, 272, true, false}, {587, 272, true, false}, {587, 272, true, false}, {587, 272, true, false},
{587, 142, true, false}, {0, 130, false, false}, {659, 272, true, false}, {587, 272, true, false},
{659, 272, true, false}, {698, 272, true, false}, {783, 272, true, false}, {783, 187, true, false},
{0, 85, false, false}, {659, 272, true, false}, {587, 272, true, false}, {587, 272, true, false},
{587, 272, true, false}, {587, 187, true, false}, {0, 85, false, false}, {523, 272, true, false},
{523, 272, true, false}, {523, 187, true, false}, {0, 85, false, false}, {659, 272, true, false},
{783, 272, true, false}, {880, 272, true, false}, {783, 272, true, false}, {880, 272, true, false},
{987, 272, true, false}, {1046, 272, true, false}, {1046, 187, true, false}, {0, 85, false, false},
{783, 272, true, false}, {698, 272, true, false}, {698, 272, true, false}, {659, 272, true, false},
{587, 272, true, false}, {523, 272, true, false}, {783, 272, true, false}, {783, 187, true, false},
{0, 85, false, false}, {391, 272, true, false}, {391, 187, true, false}, {0, 85, false, false},
{659, 272, true, false}, {659, 272, true, false}, {659, 187, true, false}, {0, 85, false, false},
{659, 272, true, false}, {698, 272, true, false}, {659, 272, true, false}, {698, 272, true, false},
{783, 272, true, false}, {659, 272, true, false}, {659, 272, true, false}, {659, 272, true, false},
{659, 142, true, false}, {0, 130, false, false}, {523, 272, true, false}, {523, 187, true, false},
{0, 85, false, false}, {659, 272, true, false}, {783, 272, true, false}, {880, 272, true, false},
{880, 187, true, false}, {0, 85, false, false}, {880, 272, true, false}, {880, 272, true, false},
{987, 272, true, false}, {987, 187, true, false}, {0, 85, false, false}, {1174, 272, true, false},
{1046, 272, true, false}, {783, 272, true, false}, {783, 272, true, false}, {783, 272, true, false},
{783, 272, true, false}, {783, 272, true, false}, {783, 142, true, false}, {0, 130, false, false},
{0, 136, true, false}, {0, 409, true, false}, {880, 272, true, false}, {880, 272, true, false},
{880, 187, true, false}, {0, 85, false, false}, {880, 272, true, false}, {987, 272, true, false},
{987, 187, true, false}, {0, 85, false, false}, {1174, 272, true, false}, {1046, 272, true, false},
{783, 272, true, false}, {783, 272, true, false}, {783, 272, true, false}, {783, 142, true, false},
{0, 130, false, false}, {1046, 272, true, false}, {1046, 187, true, false}, {0, 85, false, false},
{523, 272, true, false}, {587, 272, true, false}, {698, 272, true, false}, {698, 272, true, false},
{698, 187, true, false}, {0, 85, false, false}, {783, 272, true, false}, {783, 68, true, false},
{698, 204, false, false}, {698, 68, true, false}, {659, 204, false, false}, {587, 272, true, false},
{523, 272, true, false}, {783, 272, true, false}, {783, 272, true, false}, {783, 272, true, false},
{783, 272, true, false}, {783, 272, true, false}, {783, 272, true, false}, {783, 272, true, false},
{783, 142, true, false}, {0, 130, false, false}, {329, 272, true, false}, {329, 272, true, false},
{329, 187, true, false}, {0, 85, false, false}, {329, 272, true, false}, {349, 272, true, false},
{329, 272, true, false}, {349, 272, true, false}, {391, 272, true, false}, {329, 272, true, false},
{329, 272, true, false}, {329, 272, true, false}, {329, 142, true, false}, {0, 130, false, false},
{261, 272, true, false}, {261, 187, true, false}, {0, 85, false, false}, {329, 272, true, false},
{391, 272, true, false}, {440, 272, true, false}, {440, 187, true, false}, {0, 85, false, false},
{440, 272, true, false}, {440, 272, true, false}, {493, 272, true, false}, {493, 187, true, false},
{0, 85, false, false}, {587, 272, true, false}, {523, 272, true, false}, {391, 272, true, false},
{391, 272, true, false}, {391, 272, true, false}, {391, 272, true, false}, {391, 272, true, false},
{391, 142, true, false}, {0, 130, false, false}, {0, 136, true, false}, {0, 409, true, false},
{440, 272, true, false}, {440, 272, true, false}, {440, 187, true, false}, {0, 85, false, false},
{440, 272, true, false}, {493, 272, true, false}, {493, 187, true, false}, {0, 85, false, false},
{587, 272, true, false}, {523, 272, true, false}, {391, 272, true, false}, {391, 272, true, false},
{391, 272, true, false}, {391, 142, true, false}, {0, 130, false, false}, {523, 272, true, false},
{523, 187, true, false}, {0, 85, false, false}, {523, 272, true, false}, {587, 272, true, false},
{698, 272, true, false}, {698, 187, true, false}, {0, 85, false, false}, {659, 272, true, false},
{659, 187, true, false}, {0, 85, false, false}, {493, 272, true, false}, {493, 187, true, false},
{0, 85, false, false}, {0, 272, true, false}, {523, 272, true, false}, {523, 272, true, false},
{523, 272, true, false}, {523, 272, true, false}, {523, 142, true, false}, {0, 130, false, false},
{0, 272, true, false}, {0, 272, true, false}, {0, 272, true, false}, {0, 272, true, false},
{523, 460, true, false}, {0, 272, false, false}, {0, 91, false, false}, {587, 266, true, false},
{0, 551, false, false}, {659, 409, false, false}, {659, 45, false, false}, {0, 91, false, false},
{493, 454, true, false}, {0, 272, false, false}, {0, 91, false, false}, {391, 266, true, false},
{0, 551, false, false}, {329, 409, false, false}, {329, 45, false, false}, {0, 91, false, false},
{440, 454, true, false}, {0, 272, false, false}, {0, 91, false, false}, {493, 266, true, false},
{0, 551, false, false}, {523, 409, false, false}, {523, 45, false, false}, {0, 91, false, false},
{391, 454, true, false}, {0, 272, false, false}, {0, 91, false, false}, {0, 1227, true, false},
{0, 136, false, false}, {349, 454, true, false}, {0, 363, false, false}, {391, 266, false, false},
{0, 415, false, false}, {0, 136, false, false}, {440, 454, true, false}, {0, 91, false, false},
{391, 454, true, false}, {0, 363, false, false}, {493, 266, false, false}, {0, 415, false, false},
{0, 136, false, false}, {523, 454, true, false}, {0, 91, false, false}, {440, 454, true, false},
{0, 1046, false, false}, {0, 136, false, false}, {523, 454, true, false}, {0, 91, false, false},
{587, 454, true, false}, {0, 1591, false, false}, {0, 136, false, false}, {659, 266, true, false},
{587, 272, true, false}, {659, 272, true, false}, {698, 272, true, false}, {783, 272, true, false},
{783, 187, true, false}, {0, 85, false, false}, {659, 272, true, false}, {587, 272, true, false},
{587, 272, true, false}, {587, 272, true, false}, {587, 187, true, false}, {0, 85, false, false},
{523, 272, true, false}, {523, 272, true, false}, {523, 187, true, false}, {0, 85, false, false},
{659, 272, true, false}, {783, 272, true, false}, {880, 272, true, false}, {783, 272, true, false},
{880, 272, true, false}, {987, 272, true, false}, {1046, 272, true, false}, {1046, 187, true, false},
{0, 85, false, false}, {783, 272, true, false}, {698, 272, true, false}, {659, 272, true, false},
{659, 187, true, false}, {0, 85, false, false}, {659, 272, true, false}, {698, 272, true, false},
{587, 272, true, false}, {587, 272, true, false}, {587, 272, true, false}, {587, 142, true, false},
{0, 130, false, false}, {659, 272, true, false}, {587, 272, true, false}, {659, 272, true, false},
{698, 272, true, false}, {783, 272, true, false}, {783, 187, true, false}, {0, 85, false, false},
{659, 272, true, false}, {587, 272, true, false}, {587, 272, true, false}, {587, 272, true, false},
{587, 187, true, false}, {0, 85, false, false}, {523, 272, true, false}, {523, 272, true, false},
{523, 187, true, false}, {0, 85, false, false}, {659, 272, true, false}, {783, 272, true, false},
{880, 272, true, false}, {783, 272, true, false}, {880, 272, true, false}, {987, 272, true, false},
{1046, 272, true, false}, {1046, 187, true, false}, {0, 85, false, false}, {783, 272, true, false},
{698, 272, true, false}, {698, 272, true, false}, {659, 272, true, false}, {587, 272, true, false},
{523, 272, true, false}, {783, 272, true, false}, {783, 187, true, false}, {0, 85, false, false},
{391, 272, true, false}, {391, 187, true, false}, {0, 85, false, false}, {698, 272, true, false},
{622, 272, true, false}, {698, 272, true, false}, {739, 272, true, false}, {830, 272, true, false},
{830, 187, true, false}, {0, 85, false, false}, {698, 272, true, false}, {622, 272, true, false},
{622, 272, true, false}, {622, 272, true, false}, {622, 187, true, false}, {0, 85, false, false},
{554, 272, true, false}, {554, 272, true, false}, {554, 187, true, false}, {0, 85, false, false},
{698, 272, true, false}, {830, 272, true, false}, {932, 272, true, false}, {830, 272, true, false},
{932, 272, true, false}, {1046, 272, true, false}, {1108, 272, true, false}, {1108, 187, true, false},
{0, 85, false, false}, {830, 272, true, false}, {739, 272, true, false}, {698, 272, true, false},
{698, 187, true, false}, {0, 85, false, false}, {698, 272, true, false}, {739, 272, true, false},
{622, 272, true, false}, {622, 272, true, false}, {622, 272, true, false}, {622, 142, true, false},
{0, 130, false, false}, {698, 272, true, false}, {622, 272, true, false}, {698, 272, true, false},
{739, 272, true, false}, {830, 272, true, false}, {830, 187, true, false}, {0, 85, false, false},
{698, 272, true, false}, {622, 272, true, false}, {622, 272, true, false}, {622, 272, true, false},
{622, 187, true, false}, {0, 85, false, false}, {554, 272, true, false}, {554, 272, true, false},
{554, 187, true, false}, {0, 85, false, false}, {698, 272, true, false}, {830, 272, true, false},
{932, 272, true, false}, {830, 272, true, false}, {932, 272, true, false}, {1046, 272, true, false},
{1108, 272, true, false}, {1108, 187, true, false}, {0, 85, false, false}, {830, 272, true, false},
{739, 272, true, false}, {739, 272, true, false}, {698, 272, true, false}, {622, 272, true, false},
{554, 272, true, false}, {830, 272, true, false}, {830, 187, true, false}, {0, 85, false, false},
{523, 272, true, false}, {523, 187, true, false}, {0, 85, false, false}, {349, 960, true, true},
{0, 409, false, false}, {349, 266, false, false}, {369, 204, false, false}, {415, 210, false, false},
{415, 130, false, false}, {466, 960, true, false}, {0, 409, false, false}, {466, 266, false, false},
{415, 204, false, false}, {369, 210, false, false}, {369, 130, false, false}, {349, 960, true, true},
{0, 409, false, false}, {349, 266, false, false}, {369, 204, false, false}, {415, 210, false, false},
{415, 130, false, false}, {466, 960, true, false}, {0, 409, false, false}, {466, 266, false, false},
{415, 204, false, false}, {369, 210, false, false}, {369, 130, false, false}, {349, 960, true, true},
{0, 409, false, false}, {349, 266, false, false}, {369, 204, false, false}, {415, 210, false, false},
{415, 130, false, false}, {466, 960, true, false}, {0, 136, false, false}, {554, 954, false, false},
{554, 341, false, false}, {554, 62, true, false}, {415, 68, false, false}, {554, 210, false, false},
{554, 954, false, false}, {0, 682, false, false}, {0, 454, true, false},
{0, 2000, false, false}
};
// Converted from: potc_3.mid (Clean Melody & Bass-Routed Edition)
const SequenceStep midi_potc_3[] = {
{293, 249, false, false}, {0, 49, false, false}, {293, 146, false, false}, {293, 253, false, false},
{0, 49, false, false}, {293, 146, false, false}, {293, 253, false, false}, {0, 49, false, false},
{293, 146, false, false}, {293, 149, false, false}, {293, 149, false, false}, {293, 149, false, false},
{293, 253, false, false}, {0, 49, false, false}, {293, 146, false, false}, {293, 253, false, false},
{0, 49, false, false}, {293, 146, false, false}, {293, 253, false, false}, {0, 49, false, false},
{293, 146, false, false}, {293, 149, false, false}, {293, 149, false, false}, {293, 149, false, false},
{293, 253, true, false}, {0, 49, false, false}, {293, 146, false, false}, {293, 253, false, false},
{0, 49, false, false}, {293, 75, false, false}, {293, 71, false, false}, {293, 253, true, false},
{0, 49, false, false}, {293, 99, false, false}, {293, 46, false, false}, {293, 149, true, false},
{0, 149, false, true}, {261, 103, false, false}, {261, 46, false, false}, {293, 253, true, true},
{0, 49, false, false}, {293, 146, true, true}, {293, 103, true, true}, {0, 49, false, false},
{293, 99, false, true}, {293, 46, false, false}, {329, 149, true, true}, {349, 253, true, true},
{0, 49, false, false}, {349, 146, true, true}, {349, 103, true, false}, {0, 49, false, false},
{349, 99, false, true}, {349, 46, false, false}, {391, 149, true, false}, {329, 253, true, true},
{0, 49, false, false}, {329, 146, true, true}, {329, 103, true, false}, {0, 49, false, false},
{293, 99, false, true}, {293, 46, false, false}, {261, 149, true, true}, {261, 149, true, true},
{293, 103, false, true}, {293, 49, false, false}, {293, 99, true, true}, {0, 46, false, false},
{0, 153, true, true}, {0, 99, false, true}, {0, 46, false, false}, {261, 149, true, true},
{293, 253, true, true}, {0, 49, false, false}, {293, 146, true, true}, {293, 103, true, false},
{0, 49, false, false}, {293, 99, false, true}, {293, 46, false, false}, {329, 149, true, true},
{349, 253, true, true}, {0, 49, false, false}, {349, 146, true, true}, {349, 103, true, false},
{0, 49, false, false}, {349, 99, false, false}, {349, 46, false, false}, {391, 149, true, false},
{329, 253, true, false}, {0, 49, false, false}, {329, 146, true, false}, {329, 103, true, false},
{0, 49, false, false}, {293, 99, false, true}, {293, 46, false, false}, {261, 149, true, false},
{293, 253, true, true}, {0, 49, false, false}, {0, 146, true, true}, {0, 153, true, true},
{0, 99, false, true}, {0, 46, false, false}, {261, 149, true, true}, {293, 253, true, true},
{0, 49, false, false}, {293, 146, true, true}, {293, 103, true, true}, {0, 49, false, false},
{293, 99, false, true}, {293, 46, false, false}, {349, 149, true, true}, {391, 253, true, true},
{0, 49, false, false}, {391, 146, true, true}, {391, 103, true, false}, {0, 49, false, false},
{391, 99, false, false}, {391, 46, false, false}, {440, 149, true, false}, {466, 253, true, false},
{0, 49, false, false}, {466, 146, true, false}, {466, 103, true, false}, {0, 49, false, false},
{440, 99, false, false}, {440, 46, false, false}, {391, 149, true, false}, {440, 149, true, true},
{293, 103, false, false}, {293, 49, false, false}, {293, 99, true, true}, {0, 46, false, false},
{0, 153, true, true}, {293, 99, false, false}, {293, 46, false, false}, {329, 149, true, true},
{349, 253, true, true}, {0, 49, false, false}, {349, 146, true, true}, {349, 103, true, false},
{0, 49, false, false}, {391, 99, false, true}, {391, 49, false, false}, {391, 99, true, false},
{0, 46, false, false}, {440, 149, true, true}, {293, 103, false, false}, {293, 49, false, false},
{293, 99, true, true}, {0, 46, false, false}, {0, 153, true, true}, {293, 99, false, false},
{293, 46, false, false}, {349, 149, true, true}, {329, 253, true, true}, {0, 49, false, false},
{329, 146, true, true}, {329, 103, true, false}, {0, 49, false, false}, {349, 99, false, false},
{349, 46, false, false}, {293, 149, true, true}, {329, 149, true, true}, {0, 103, false, false},
{0, 49, false, false}, {0, 146, true, false}, {0, 153, true, false}, {440, 99, false, false},
{440, 46, false, false}, {523, 149, true, false}, {587, 253, true, true}, {0, 49, false, false},
{587, 146, true, true}, {587, 103, true, true}, {0, 49, false, false}, {587, 99, false, false},
{587, 46, false, false}, {659, 149, true, false}, {698, 253, true, false}, {0, 49, false, false},
{698, 146, true, false}, {698, 103, true, false}, {0, 49, false, false}, {698, 99, false, false},
{698, 46, false, false}, {783, 149, true, false}, {659, 253, true, false}, {0, 49, false, false},
{659, 146, true, false}, {659, 103, true, false}, {0, 49, false, false}, {587, 99, false, false},
{587, 46, false, false}, {523, 149, true, false}, {523, 149, true, true}, {587, 103, false, false},
{587, 49, false, false}, {587, 99, true, true}, {0, 46, false, false}, {0, 153, true, true},
{440, 99, false, false}, {440, 46, false, false}, {523, 149, true, true}, {587, 253, true, false},
{0, 49, false, false}, {587, 146, true, false}, {587, 103, true, false}, {0, 49, false, false},
{587, 99, false, false}, {587, 46, false, false}, {659, 149, true, false}, {698, 253, true, false},
{0, 49, false, false}, {698, 146, true, false}, {698, 103, true, false}, {0, 49, false, false},
{698, 99, false, false}, {698, 46, false, false}, {783, 149, true, false}, {659, 253, true, false},
{0, 49, false, false}, {659, 146, true, false}, {659, 103, true, false}, {0, 49, false, false},
{587, 99, false, false}, {587, 46, false, false}, {523, 149, true, false}, {587, 253, true, true},
{0, 49, false, false}, {0, 146, true, true}, {0, 153, true, true}, {440, 99, false, false},
{440, 46, false, false}, {523, 149, true, true}, {587, 253, true, true}, {0, 49, false, false},
{587, 146, true, true}, {587, 103, true, true}, {0, 49, false, false}, {587, 99, false, false},
{587, 46, false, false}, {698, 149, true, true}, {783, 253, true, false}, {0, 49, false, false},
{783, 146, true, false}, {783, 103, true, false}, {0, 49, false, false}, {783, 99, false, false},
{783, 46, false, false}, {880, 149, true, false}, {932, 253, true, false}, {0, 49, false, false},
{932, 146, true, false}, {932, 103, true, false}, {0, 49, false, false}, {880, 99, false, false},
{880, 46, false, false}, {783, 149, true, false}, {880, 149, true, true}, {587, 103, false, false},
{587, 49, false, false}, {587, 99, true, true}, {0, 46, false, false}, {0, 153, true, true},
{587, 99, false, false}, {587, 46, false, false}, {659, 149, true, true}, {698, 253, true, false},
{0, 49, false, false}, {698, 146, true, false}, {698, 103, true, false}, {0, 49, false, false},
{783, 99, false, false}, {783, 49, false, false}, {783, 99, true, false}, {0, 46, false, false},
{880, 149, true, true}, {587, 103, false, false}, {587, 49, false, false}, {587, 99, true, true},
{0, 46, false, false}, {0, 153, true, true}, {587, 99, false, false}, {587, 46, false, false},
{698, 149, true, true}, {659, 253, true, false}, {0, 49, false, false}, {659, 146, true, false},
{659, 103, true, false}, {0, 49, false, false}, {587, 99, false, false}, {587, 46, false, false},
{554, 149, true, false}, {587, 253, true, true}, {0, 49, false, false}, {587, 249, true, true},
{0, 49, false, false}, {659, 249, true, false}, {0, 49, false, false}, {698, 249, true, false},
{0, 49, false, false}, {698, 146, true, false}, {698, 103, false, false}, {698, 46, false, false},
{783, 253, true, false}, {0, 49, false, false}, {880, 146, true, false}, {698, 103, false, false},
{698, 46, false, false}, {0, 149, true, false}, {0, 153, true, false}, {698, 99, false, false},
{698, 46, false, false}, {587, 149, true, false}, {440, 149, true, false}, {0, 103, false, false},
{0, 49, false, false}, {0, 146, true, false}, {0, 253, true, false}, {0, 49, false, false},
{0, 146, true, false}, {932, 149, true, false}, {0, 103, false, false}, {0, 49, false, false},
{0, 146, true, false}, {0, 153, true, false}, {783, 99, false, false}, {783, 46, false, false},
{587, 149, true, false}, {466, 149, true, false}, {0, 103, false, false}, {0, 49, false, false},
{0, 146, true, false}, {0, 253, true, false}, {0, 49, false, false}, {0, 146, true, false},
{329, 149, true, false}, {329, 103, false, false}, {329, 49, false, false}, {329, 99, true, false},
{0, 46, false, false}, {293, 253, true, true}, {293, 49, false, false}, {293, 99, true, false},
{0, 46, false, false}, {349, 253, true, true}, {349, 49, false, false}, {349, 99, true, false},
{0, 46, false, false}, {0, 153, true, false}, {349, 99, false, false}, {349, 46, false, false},
{391, 149, true, false}, {440, 253, true, true}, {0, 49, false, false}, {440, 146, true, true},
{440, 103, true, true}, {0, 49, false, false}, {440, 99, false, false}, {440, 49, false, false},
{440, 99, true, true}, {0, 46, false, false}, {466, 149, true, true}, {440, 103, false, false},
{440, 46, false, false}, {0, 149, true, true}, {0, 149, true, true}, {0, 149, true, true},
{0, 149, true, true}, {391, 253, true, false}, {0, 49, false, false}, {391, 146, true, false},
{391, 103, true, false}, {0, 49, false, false}, {391, 99, false, false}, {391, 49, false, false},
{391, 99, true, false}, {0, 46, false, false}, {391, 149, true, true}, {440, 103, false, false},
{440, 46, false, false}, {0, 149, true, true}, {0, 149, true, true}, {0, 149, true, true},
{0, 149, true, true}, {440, 253, true, true}, {0, 49, false, false}, {440, 146, true, true},
{440, 103, true, true}, {0, 49, false, false}, {440, 99, false, false}, {440, 49, false, false},
{440, 99, true, true}, {0, 46, false, false}, {466, 149, true, true}, {440, 103, false, false},
{440, 46, false, false}, {0, 149, true, true}, {0, 149, true, true}, {0, 149, true, true},
{0, 149, true, true}, {391, 253, true, false}, {0, 49, false, false}, {349, 146, true, false},
{349, 103, true, false}, {0, 49, false, false}, {329, 99, false, true}, {329, 49, false, false},
{329, 99, true, false}, {0, 46, false, false}, {293, 253, true, true}, {0, 49, false, false},
{0, 146, true, true}, {0, 153, true, true}, {293, 99, false, false}, {293, 46, false, false},
{329, 149, true, true}, {349, 253, true, true}, {349, 49, false, false}, {349, 146, true, true},
{349, 78, true, true}, {0, 75, false, false}, {391, 99, false, false}, {391, 46, false, false},
{440, 149, true, true}, {391, 253, true, false}, {0, 49, false, false}, {349, 146, true, false},
{349, 103, true, false}, {0, 46, false, false}, {329, 149, true, false}, {329, 103, true, false},
{0, 46, false, false}, {349, 253, true, true}, {0, 49, false, false}, {391, 146, true, true},
{391, 103, true, true}, {0, 46, false, false}, {440, 149, true, true}, {440, 103, true, true},
{0, 46, false, false}, {391, 253, true, false}, {0, 49, false, false}, {0, 146, true, false},
{0, 149, true, false}, {349, 149, true, false}, {391, 149, true, false}, {440, 253, true, true},
{0, 49, false, false}, {0, 146, true, true}, {0, 149, true, true}, {391, 149, true, true},
{349, 149, true, true}, {329, 253, true, false}, {0, 49, false, false}, {349, 146, true, false},
{349, 103, true, false}, {0, 46, false, false}, {329, 149, true, false}, {329, 103, true, false},
{0, 46, false, false}, {293, 253, true, true}, {0, 49, false, false}, {0, 146, true, true},
{0, 153, true, true}, {329, 99, false, false}, {329, 46, false, false}, {261, 149, true, true},
{293, 149, true, true}, {0, 103, false, false}, {0, 49, false, false}, {0, 146, true, true},
{0, 149, true, true}, {587, 149, true, true}, {659, 149, true, true}, {698, 253, true, true},
{0, 49, false, false}, {0, 146, true, true}, {0, 149, true, true}, {659, 149, true, true},
{698, 149, true, true}, {783, 253, true, false}, {0, 49, false, false}, {698, 146, true, false},
{698, 103, true, false}, {0, 46, false, false}, {783, 149, true, false}, {783, 103, true, false},
{0, 46, false, false}, {880, 253, true, true}, {0, 49, false, false}, {783, 146, true, true},
{783, 103, true, true}, {0, 46, false, false}, {698, 149, true, true}, {698, 103, true, true},
{0, 46, false, false}, {587, 253, true, false}, {0, 49, false, false}, {0, 146, true, false},
{0, 149, true, false}, {587, 149, true, false}, {659, 149, true, false}, {698, 253, true, true},
{0, 49, false, false}, {783, 146, true, true}, {783, 103, true, true}, {0, 46, false, false},
{880, 149, true, true}, {880, 103, true, true}, {0, 46, false, false}, {932, 253, true, false},
{0, 49, false, false}, {587, 146, true, false}, {587, 103, true, false}, {0, 46, false, false},
{783, 149, true, false}, {783, 103, true, false}, {0, 46, false, false}, {698, 253, true, false},
{0, 49, false, false}, {0, 146, true, false}, {0, 149, true, false}, {783, 149, true, false},
{659, 149, true, false}, {587, 253, true, false}, {0, 49, false, false}, {0, 146, true, false},
{0, 149, true, false}, {659, 149, true, false}, {554, 149, true, false}, {880, 253, true, true},
{0, 49, false, false}, {0, 146, true, true}, {0, 149, true, true}, {0, 149, true, true},
{0, 149, true, true}, {932, 253, true, false}, {0, 49, false, false}, {0, 146, true, false},
{0, 149, true, false}, {0, 149, true, false}, {0, 149, true, false}, {880, 253, true, true},
{0, 49, false, false}, {880, 146, true, true}, {880, 103, true, true}, {0, 49, false, false},
{880, 99, false, false}, {880, 49, false, false}, {880, 99, true, true}, {0, 46, false, false},
{880, 149, true, false}, {783, 103, false, false}, {783, 46, false, false}, {0, 149, true, false},
{0, 149, true, false}, {0, 149, true, false}, {0, 149, true, false}, {783, 253, true, false},
{0, 49, false, false}, {0, 146, true, false}, {0, 149, true, false}, {0, 149, true, false},
{0, 149, true, false}, {698, 253, true, false}, {0, 49, false, false}, {0, 146, true, false},
{0, 149, true, false}, {0, 149, true, false}, {0, 149, true, false}, {698, 253, true, false},
{0, 49, false, false}, {783, 146, true, false}, {783, 103, true, false}, {0, 46, false, false},
{659, 149, true, false}, {659, 103, true, false}, {0, 46, false, false}, {587, 253, true, true},
{587, 49, false, false}, {587, 99, true, true}, {0, 46, false, false}, {587, 149, true, true},
{659, 149, true, true}, {698, 149, true, true}, {880, 253, true, true}, {880, 49, false, false},
{880, 99, true, true}, {0, 46, false, false}, {587, 149, true, true}, {659, 149, true, true},
{698, 149, true, true}, {932, 253, true, false}, {932, 49, false, false}, {932, 99, true, false},
{0, 46, false, false}, {587, 149, true, false}, {659, 149, true, false}, {698, 149, true, false},
{880, 253, true, true}, {0, 49, false, false}, {880, 146, true, true}, {880, 103, true, true},
{0, 46, false, false}, {1046, 149, true, true}, {1046, 103, true, true}, {0, 46, false, false},
{880, 149, true, false}, {783, 103, false, false}, {783, 46, false, false}, {0, 149, true, false},
{0, 149, true, false}, {0, 149, true, false}, {0, 149, true, false}, {783, 253, true, false},
{0, 49, false, false}, {0, 146, true, false}, {0, 149, true, false}, {0, 149, true, false},
{0, 149, true, false}, {698, 253, true, false}, {0, 49, false, false}, {0, 146, true, false},
{0, 149, true, false}, {0, 149, true, false}, {0, 149, true, false}, {698, 253, true, false},
{0, 49, false, false}, {783, 146, true, false}, {783, 103, true, false}, {0, 46, false, false},
{659, 149, true, false}, {659, 103, true, false}, {0, 46, false, false}, {587, 403, true, true},
{0, 49, false, false}, {0, 146, true, true}, {0, 149, true, true}, {0, 149, true, true},
{293, 1128, true, false},
{0, 2000, false, false}
};
// Converted from: potc_2.mid (Clean Melody & Bass-Routed Edition)
const SequenceStep midi_potc_2[] = {
{0, 296, false, true}, {0, 149, false, true}, {0, 300, false, true}, {0, 149, false, true},
{0, 300, false, true}, {0, 149, false, true}, {0, 149, false, true}, {0, 149, false, true},
{0, 149, false, true}, {0, 300, false, true}, {0, 149, false, true}, {0, 300, false, true},
{0, 149, false, true}, {0, 300, false, true}, {0, 149, false, true}, {0, 149, false, true},
{0, 149, false, true}, {0, 149, false, true}, {293, 300, false, true}, {293, 149, false, true},
{293, 300, false, true}, {293, 149, false, true}, {293, 300, false, true}, {293, 149, false, true},
{293, 149, false, true}, {293, 149, false, true}, {293, 149, false, true}, {293, 300, false, true},
{293, 149, false, true}, {293, 300, false, true}, {293, 149, false, true}, {293, 300, false, true},
{293, 149, true, true}, {293, 149, true, true}, {293, 149, false, true}, {293, 149, false, true},
{293, 149, true, true}, {293, 149, true, false}, {293, 149, true, true}, {293, 149, true, true},
{293, 149, true, false}, {329, 149, true, false}, {349, 149, true, true}, {349, 149, true, false},
{349, 149, true, true}, {349, 149, true, true}, {391, 149, true, false}, {391, 149, true, true},
{329, 149, true, true}, {329, 149, true, false}, {329, 149, true, true}, {329, 149, true, true},
{293, 149, true, false}, {261, 149, true, true}, {293, 149, true, true}, {587, 149, true, true},
{523, 149, true, true}, {587, 149, true, true}, {0, 149, true, true}, {293, 149, true, true},
{293, 149, true, true}, {293, 149, true, false}, {293, 149, true, true}, {293, 149, true, true},
{293, 149, true, false}, {329, 149, true, true}, {349, 149, true, true}, {349, 149, true, false},
{349, 149, true, true}, {349, 149, true, true}, {391, 149, true, false}, {391, 149, true, true},
{329, 149, true, true}, {329, 149, true, false}, {329, 149, true, false}, {329, 149, true, true},
{293, 149, true, false}, {261, 149, true, true}, {293, 149, true, true}, {587, 149, true, true},
{523, 149, true, true}, {587, 149, true, true}, {0, 149, true, true}, {293, 149, true, true},
{293, 149, true, true}, {293, 149, true, false}, {293, 149, true, true}, {293, 149, true, true},
{293, 149, true, false}, {349, 149, true, true}, {391, 149, true, true}, {391, 149, true, false},
{391, 149, true, true}, {391, 149, true, true}, {440, 149, true, false}, {466, 149, true, true},
{466, 149, true, true}, {466, 149, true, false}, {466, 149, true, true}, {440, 149, true, true},
{440, 149, true, false}, {391, 149, true, true}, {440, 149, true, true}, {293, 149, true, true},
{293, 149, true, true}, {293, 149, true, true}, {293, 149, true, false}, {329, 149, true, true},
{349, 149, true, true}, {349, 149, true, false}, {391, 149, true, true}, {391, 149, true, true},
{440, 149, true, false}, {440, 149, true, true}, {293, 149, true, true}, {293, 149, true, false},
{293, 149, true, true}, {293, 149, true, true}, {349, 149, true, false}, {329, 149, true, true},
{329, 149, true, true}, {329, 149, true, false}, {329, 149, true, true}, {349, 149, true, true},
{293, 149, true, true}, {329, 149, true, true}, {329, 149, true, true}, {329, 149, true, true},
{329, 149, true, true}, {329, 149, true, true}, {440, 149, true, true}, {523, 149, true, true},
{587, 149, true, true}, {587, 149, true, false}, {587, 149, true, true}, {587, 149, true, true},
{587, 149, true, false}, {659, 149, true, false}, {698, 149, true, true}, {698, 149, true, false},
{698, 149, true, true}, {698, 149, true, true}, {783, 149, true, false}, {783, 149, true, true},
{659, 149, true, true}, {659, 149, true, false}, {659, 149, true, true}, {659, 149, true, true},
{587, 149, true, false}, {523, 149, true, true}, {587, 149, true, true}, {1174, 149, true, true},
{1046, 149, true, true}, {1174, 149, true, true}, {440, 149, true, false}, {523, 149, true, true},
{587, 149, true, true}, {587, 149, true, false}, {587, 149, true, true}, {587, 149, true, true},
{587, 149, true, false}, {659, 149, true, true}, {698, 149, true, true}, {698, 149, true, false},
{698, 149, true, true}, {698, 149, true, true}, {783, 149, true, false}, {783, 149, true, true},
{659, 149, true, true}, {659, 149, true, false}, {659, 149, true, false}, {659, 149, true, true},
{587, 149, true, false}, {523, 149, true, true}, {587, 149, true, true}, {1174, 149, true, true},
{1046, 149, true, true}, {1174, 149, true, true}, {440, 149, true, false}, {523, 149, true, true},
{587, 149, true, true}, {587, 149, true, false}, {587, 149, true, true}, {587, 149, true, true},
{587, 149, true, false}, {698, 149, true, true}, {783, 149, true, true}, {783, 149, true, false},
{783, 149, true, true}, {783, 149, true, true}, {880, 149, true, false}, {932, 149, true, true},
{932, 149, true, true}, {932, 149, true, false}, {932, 149, true, true}, {880, 149, true, true},
{880, 149, true, false}, {783, 149, true, true}, {880, 149, true, true}, {587, 149, true, true},
{587, 149, true, true}, {587, 149, true, true}, {587, 149, true, false}, {659, 149, true, true},
{698, 149, true, true}, {698, 149, true, false}, {783, 149, true, true}, {783, 149, true, true},
{880, 149, true, false}, {880, 149, true, true}, {587, 149, true, true}, {587, 149, true, false},
{587, 149, true, true}, {587, 149, true, true}, {698, 149, true, false}, {659, 149, true, true},
{659, 149, true, true}, {659, 149, true, false}, {659, 149, true, true}, {659, 149, true, true},
{587, 149, true, false}, {554, 149, true, true}, {587, 300, true, true}, {587, 300, true, true},
{659, 300, true, false}, {698, 149, true, true}, {698, 149, true, true}, {698, 149, true, true},
{698, 149, true, true}, {783, 149, true, true}, {783, 149, true, true}, {880, 149, true, true},
{698, 149, false, false}, {698, 149, true, false}, {698, 149, true, false}, {698, 149, false, false},
{587, 149, true, false}, {440, 300, true, false}, {440, 149, true, false}, {440, 300, true, false},
{440, 149, true, false}, {932, 149, true, true}, {932, 150, false, false}, {932, 149, true, false},
{932, 149, true, false}, {783, 149, false, false}, {587, 149, true, false}, {466, 300, true, false},
{466, 149, true, false}, {466, 300, true, false}, {466, 149, true, false}, {329, 149, true, true},
{329, 149, true, true}, {329, 149, true, true}, {293, 149, true, true}, {293, 149, true, true},
{293, 149, true, true}, {349, 149, true, true}, {349, 149, true, false}, {349, 149, true, true},
{349, 149, true, true}, {349, 149, true, false}, {391, 149, true, true}, {440, 149, true, true},
{440, 149, true, false}, {440, 149, true, true}, {440, 149, true, true}, {440, 149, true, false},
{440, 149, true, true}, {466, 149, true, true}, {440, 149, true, false}, {440, 149, true, true},
{440, 149, true, true}, {440, 149, true, true}, {440, 149, true, true}, {391, 149, true, true},
{391, 149, true, false}, {391, 149, true, false}, {391, 149, true, true}, {391, 149, true, false},
{391, 149, true, false}, {440, 149, true, true}, {440, 149, true, false}, {440, 149, true, true},
{440, 149, true, true}, {440, 149, true, true}, {440, 149, true, true}, {440, 149, true, true},
{440, 149, true, false}, {440, 149, true, true}, {440, 149, true, true}, {440, 149, true, false},
{440, 149, true, true}, {466, 149, true, true}, {440, 149, true, false}, {440, 149, true, true},
{440, 149, true, true}, {440, 149, true, true}, {440, 149, true, true}, {391, 149, true, true},
{391, 149, true, false}, {349, 149, true, true}, {349, 149, true, true}, {329, 149, true, false},
{329, 149, true, true}, {293, 149, true, true}, {293, 149, true, true}, {293, 149, true, true},
{293, 149, true, true}, {293, 149, true, true}, {329, 149, true, true}, {349, 149, true, true},
{349, 150, false, false}, {349, 149, false, true}, {349, 149, false, true}, {391, 149, false, false},
{440, 149, false, true}, {391, 300, true, false}, {349, 149, true, false}, {349, 149, true, false},
{329, 149, true, false}, {329, 149, true, false}, {349, 300, false, true}, {391, 149, false, true},
{391, 149, false, true}, {440, 149, false, true}, {440, 149, false, true}, {391, 300, true, false},
{391, 149, true, false}, {391, 149, true, false}, {349, 149, true, false}, {391, 149, true, false},
{440, 149, true, true}, {440, 149, true, false}, {440, 149, true, true}, {440, 149, true, true},
{391, 149, true, true}, {349, 149, true, true}, {329, 149, true, true}, {329, 149, true, false},
{349, 149, true, true}, {349, 149, true, true}, {329, 149, true, true}, {329, 149, true, true},
{293, 149, true, true}, {293, 149, true, false}, {293, 149, true, true}, {293, 149, true, true},
{329, 149, true, false}, {293, 149, true, true}, {293, 149, true, true}, {293, 149, true, false},
{293, 149, true, true}, {293, 149, true, true}, {587, 149, true, true}, {659, 149, true, true},
{698, 149, true, true}, {698, 149, true, false}, {698, 149, true, true}, {698, 149, true, true},
{659, 149, true, true}, {698, 149, true, true}, {783, 149, true, true}, {783, 149, true, false},
{698, 149, true, false}, {698, 149, true, true}, {783, 149, true, false}, {783, 149, true, false},
{880, 149, true, true}, {880, 149, true, false}, {783, 149, true, true}, {783, 149, true, true},
{698, 149, true, true}, {698, 149, true, true}, {587, 149, true, true}, {587, 149, true, false},
{587, 149, true, true}, {587, 149, true, true}, {587, 149, true, true}, {659, 149, true, true},
{698, 149, true, true}, {698, 149, true, false}, {783, 149, true, true}, {783, 149, true, true},
{880, 149, true, true}, {880, 149, true, true}, {932, 149, true, true}, {932, 149, true, false},
{587, 149, true, true}, {587, 149, true, true}, {783, 149, true, true}, {783, 149, true, true},
{698, 149, true, true}, {698, 149, true, false}, {698, 149, true, true}, {698, 149, true, true},
{783, 149, true, true}, {659, 149, true, true}, {587, 149, true, true}, {587, 149, true, false},
{587, 149, true, true}, {554, 149, true, true}, {554, 149, true, true}, {554, 149, true, true},
{880, 149, true, true}, {880, 149, true, false}, {880, 149, true, true}, {880, 149, true, true},
{880, 149, true, true}, {880, 149, true, true}, {932, 149, true, true}, {932, 149, true, false},
{932, 149, true, true}, {932, 149, true, true}, {932, 149, true, true}, {932, 149, true, true},
{880, 149, true, true}, {880, 149, true, false}, {880, 149, true, true}, {880, 149, true, false},
{880, 149, true, true}, {880, 149, true, false}, {880, 149, true, true}, {783, 149, true, false},
{783, 149, true, false}, {783, 149, true, true}, {783, 149, true, false}, {783, 149, true, false},
{783, 149, true, true}, {783, 149, true, false}, {783, 149, true, true}, {783, 149, true, true},
{783, 149, true, true}, {783, 149, true, true}, {698, 149, true, true}, {698, 149, true, false},
{698, 149, true, true}, {698, 149, true, true}, {698, 149, true, true}, {698, 149, true, true},
{698, 149, true, true}, {698, 149, true, false}, {783, 149, true, true}, {783, 149, true, true},
{659, 149, true, true}, {659, 149, true, true}, {587, 149, true, true}, {587, 149, true, false},
{587, 149, true, true}, {587, 149, true, true}, {659, 149, true, true}, {698, 149, true, true},
{880, 149, true, true}, {698, 149, true, false}, {659, 149, true, true}, {587, 149, true, true},
{659, 149, true, true}, {698, 149, true, true}, {932, 149, true, true}, {698, 149, true, false},
{659, 149, true, true}, {587, 149, true, true}, {659, 149, true, true}, {698, 149, true, true},
{880, 149, true, true}, {880, 149, true, false}, {880, 149, true, true}, {880, 149, true, true},
{1046, 149, true, true}, {1046, 149, true, true}, {880, 149, true, true}, {783, 149, true, false},
{783, 149, true, false}, {783, 149, true, true}, {783, 149, true, false}, {783, 149, true, false},
{783, 149, true, true}, {783, 149, true, false}, {783, 149, true, true}, {783, 149, true, true},
{783, 149, true, true}, {783, 149, true, true}, {698, 149, true, true}, {698, 149, true, false},
{698, 149, true, true}, {698, 149, true, true}, {698, 149, true, true}, {698, 149, true, true},
{698, 149, true, true}, {698, 149, true, false}, {783, 149, true, true}, {783, 149, true, true},
{659, 149, true, true}, {659, 149, true, true}, {587, 149, true, true}, {587, 149, true, false},
{293, 149, true, false}, {293, 149, true, true}, {587, 149, true, false}, {659, 149, true, true},
{698, 149, true, true}, {698, 149, true, false}, {783, 149, true, true}, {783, 149, true, true},
{880, 149, true, false}, {880, 149, true, true}, {587, 149, true, true}, {587, 149, true, false},
{587, 149, true, true}, {587, 149, true, true}, {698, 149, true, false}, {659, 149, true, true},
{659, 149, true, true}, {659, 149, true, false}, {659, 149, true, true}, {659, 149, true, true},
{587, 149, true, false}, {554, 149, true, true}, {587, 149, true, true}, {587, 149, true, false},
{587, 149, true, true}, {587, 149, true, true}, {0, 300, false, false},
{0, 2000, false, false}
};
// Converted from: alla_turca_8.mid (Clean Melody & Bass-Routed Edition)
const SequenceStep midi_alla_turca[] = {
{493, 136, false, false}, {440, 136, false, false}, {415, 136, false, false}, {440, 136, false, false},
{523, 272, false, true}, {329, 272, false, false}, {587, 136, false, false}, {523, 136, false, false},
{493, 136, false, false}, {523, 136, false, false}, {659, 272, false, true}, {329, 272, false, false},
{698, 136, false, false}, {659, 136, false, false}, {622, 136, false, false}, {659, 136, false, false},
{987, 136, false, true}, {880, 136, false, false}, {830, 136, false, false}, {880, 136, false, false},
{987, 136, false, true}, {880, 136, false, false}, {830, 136, false, false}, {880, 136, false, false},
{1046, 272, false, true}, {1046, 272, false, false}, {880, 272, false, false}, {1046, 272, false, false},
{987, 272, false, true}, {880, 272, false, true}, {783, 272, false, true}, {880, 272, false, true},
{987, 272, false, true}, {880, 272, false, true}, {783, 272, false, true}, {880, 272, false, true},
{987, 272, false, true}, {880, 272, false, true}, {783, 272, true, false}, {739, 272, false, true},
{659, 545, false, true}, {659, 272, false, false}, {698, 272, false, false}, {783, 272, true, false},
{783, 272, false, false}, {880, 136, false, true}, {783, 136, false, false}, {698, 136, false, false},
{659, 136, false, false}, {587, 272, false, true}, {391, 272, false, false}, {659, 272, false, false},
{698, 272, false, false}, {783, 272, true, false}, {783, 272, false, false}, {880, 136, false, true},
{783, 136, false, false}, {698, 136, false, false}, {659, 136, false, false}, {587, 545, false, true},
{523, 272, false, false}, {587, 272, false, false}, {659, 272, true, false}, {659, 272, false, true},
{698, 136, true, false}, {659, 136, false, false}, {587, 136, false, false}, {523, 136, false, false},
{493, 272, false, true}, {329, 272, false, false}, {523, 272, false, false}, {587, 272, false, false},
{659, 272, true, false}, {659, 272, false, true}, {698, 136, true, false}, {659, 136, false, false},
{587, 136, false, false}, {523, 136, false, false}, {493, 545, false, true}, {493, 136, false, false},
{440, 136, false, false}, {415, 136, false, false}, {440, 136, false, false}, {523, 272, false, true},
{329, 272, false, false}, {587, 136, false, false}, {523, 136, false, false}, {493, 136, false, false},
{523, 136, false, false}, {659, 272, false, true}, {329, 272, false, false}, {698, 136, false, false},
{659, 136, false, false}, {622, 136, false, false}, {659, 136, false, false}, {987, 136, false, true},
{880, 136, false, false}, {830, 136, false, false}, {880, 136, false, false}, {987, 136, false, true},
{880, 136, false, false}, {830, 136, false, false}, {880, 136, false, false}, {1046, 272, false, true},
{311, 272, false, true}, {880, 272, false, true}, {987, 272, false, true}, {1046, 272, false, true},
{987, 272, false, true}, {880, 272, false, true}, {830, 272, false, true}, {880, 272, true, false},
{659, 272, false, true}, {698, 272, false, true}, {587, 272, false, true}, {523, 272, false, true},
{523, 272, false, true}, {493, 272, false, true}, {493, 136, false, true}, {440, 68, false, false},
{493, 68, false, false}, {493, 68, true, true}, {440, 477, false, false}, {880, 272, false, false},
{987, 272, false, false}, {1108, 272, false, true}, {1108, 272, false, true}, {880, 272, false, true},
{987, 272, false, true}, {1108, 272, false, true}, {987, 272, false, true}, {880, 272, false, true},
{830, 272, false, true}, {739, 272, false, true}, {830, 272, false, true}, {880, 272, false, true},
{987, 272, false, true}, {830, 272, false, true}, {659, 272, false, true}, {880, 272, false, true},
{987, 272, false, true}, {1108, 272, false, true}, {1108, 272, false, true}, {880, 272, false, true},
{987, 272, false, true}, {1108, 272, false, true}, {987, 272, false, true}, {880, 272, false, true},
{830, 272, false, true}, {739, 272, false, true}, {987, 272, false, true}, {830, 272, false, true},
{659, 272, false, true}, {880, 545, true, false}, {1108, 136, false, false}, {1174, 136, false, false},
{1108, 136, false, false}, {987, 136, false, false}, {880, 136, false, true}, {987, 136, false, false},
{880, 136, false, true}, {830, 136, false, false}, {739, 136, false, true}, {880, 136, false, false},
{830, 136, false, true}, {739, 136, false, false}, {698, 136, false, true}, {739, 136, false, false},
{830, 136, false, true}, {698, 136, false, false}, {554, 136, false, true}, {622, 136, false, false},
{698, 136, false, true}, {554, 136, false, false}, {739, 136, false, true}, {698, 136, false, false},
{739, 136, false, true}, {830, 136, false, false}, {880, 136, false, true}, {830, 136, false, false},
{880, 136, false, true}, {987, 136, false, false}, {1108, 136, false, true}, {1046, 136, false, false},
{1108, 136, false, true}, {1046, 136, false, false}, {1108, 136, false, true}, {1174, 136, false, false},
{1108, 136, false, true}, {987, 136, false, false}, {880, 136, false, true}, {987, 136, false, false},
{880, 136, false, true}, {830, 136, false, false}, {739, 136, false, true}, {880, 136, false, false},
{830, 136, false, true}, {739, 136, false, false}, {659, 136, false, true}, {739, 136, false, false},
{830, 136, false, false}, {659, 136, false, false}, {554, 136, false, false}, {622, 136, false, false},
{659, 136, false, false}, {554, 136, false, false}, {622, 136, false, true}, {659, 136, false, false},
{739, 136, false, false}, {622, 136, false, false}, {523, 136, false, false}, {554, 136, false, false},
{622, 136, false, false}, {523, 136, false, false}, {554, 545, false, false}, {659, 136, false, false},
{587, 136, false, false}, {554, 136, false, false}, {493, 136, false, false}, {440, 136, false, true},
{493, 136, false, false}, {554, 136, false, false}, {587, 136, false, false}, {659, 136, false, false},
{739, 136, false, false}, {830, 136, false, false}, {880, 136, false, false}, {880, 136, false, true},
{830, 136, false, false}, {739, 136, false, false}, {659, 136, false, false}, {659, 136, false, true},
{587, 136, false, false}, {554, 136, false, false}, {493, 136, false, false}, {440, 136, false, true},
{493, 136, false, false}, {554, 136, false, false}, {587, 136, false, false}, {659, 136, false, false},
{739, 136, false, false}, {830, 136, false, false}, {880, 136, false, false}, {932, 272, false, true},
{987, 272, false, true}, {659, 136, false, true}, {587, 136, false, false}, {554, 136, false, true},
{493, 136, false, false}, {440, 136, false, true}, {493, 136, false, false}, {554, 136, false, false},
{587, 136, false, false}, {659, 136, false, false}, {739, 136, false, false}, {830, 136, false, false},
{880, 136, false, false}, {880, 136, false, true}, {830, 136, false, false}, {739, 136, false, false},
{659, 136, false, false}, {659, 136, false, true}, {587, 136, false, false}, {554, 136, false, false},
{493, 136, false, false}, {554, 136, false, true}, {659, 136, false, false}, {440, 136, false, true},
{554, 136, false, false}, {493, 136, false, true}, {587, 136, false, false}, {415, 136, false, true},
{493, 136, false, false}, {440, 272, true, false}, {440, 272, false, true}, {1108, 136, false, false},
{1174, 136, false, false}, {1108, 136, false, false}, {987, 136, false, false}, {880, 136, false, true},
{987, 136, false, false}, {880, 136, false, true}, {830, 136, false, false}, {739, 136, false, true},
{880, 136, false, false}, {830, 136, false, true}, {739, 136, false, false}, {698, 136, false, true},
{739, 136, false, false}, {830, 136, false, true}, {698, 136, false, false}, {554, 136, false, true},
{622, 136, false, false}, {698, 136, false, true}, {554, 136, false, false}, {739, 136, false, true},
{698, 136, false, false}, {739, 136, false, true}, {830, 136, false, false}, {880, 136, false, true},
{830, 136, false, false}, {880, 136, false, true}, {987, 136, false, false}, {1108, 136, true, false},
{1046, 136, false, false}, {1108, 136, false, true}, {1046, 136, false, false}, {1108, 136, false, true},
{1046, 136, false, false}, {1108, 136, false, true}, {932, 136, false, false}, {1174, 136, true, false},
{1108, 136, false, false}, {1174, 136, false, true}, {1108, 136, false, false}, {1174, 136, false, true},
{1108, 136, false, false}, {1174, 136, false, true}, {1108, 136, false, false}, {1174, 136, true, false},
{1108, 136, false, false}, {987, 136, false, true}, {880, 136, false, false}, {830, 136, false, true},
{880, 136, false, false}, {987, 136, false, true}, {830, 136, false, false}, {880, 136, true, false},
{987, 136, false, false}, {1108, 136, false, true}, {739, 136, false, false}, {698, 136, true, false},
{739, 136, false, false}, {830, 136, false, true}, {698, 136, false, false}, {739, 545, false, true},
{880, 272, false, false}, {987, 272, false, false}, {1108, 272, false, true}, {1108, 272, false, true},
{880, 272, false, true}, {987, 272, false, true}, {1108, 272, false, true}, {987, 272, false, true},
{880, 272, false, true}, {830, 272, false, true}, {739, 272, false, true}, {830, 272, false, true},
{880, 272, false, true}, {987, 272, false, true}, {830, 272, false, true}, {659, 272, false, true},
{880, 272, false, true}, {987, 272, false, true}, {1108, 272, false, true}, {1108, 272, false, true},
{880, 272, false, true}, {987, 272, false, true}, {1108, 272, false, true}, {987, 272, false, true},
{880, 272, false, true}, {830, 272, false, true}, {739, 272, false, true}, {987, 272, false, true},
{830, 272, false, true}, {659, 272, false, true}, {880, 545, true, false}, {493, 136, false, false},
{440, 136, false, false}, {415, 136, false, false}, {440, 136, false, false}, {523, 272, false, true},
{329, 272, false, false}, {587, 136, false, false}, {523, 136, false, false}, {493, 136, false, false},
{523, 136, false, false}, {659, 272, false, true}, {329, 272, false, false}, {698, 136, false, false},
{659, 136, false, false}, {622, 136, false, false}, {659, 136, false, false}, {987, 136, false, true},
{880, 136, false, false}, {830, 136, false, false}, {880, 136, false, false}, {987, 136, false, true},
{880, 136, false, false}, {830, 136, false, false}, {880, 136, false, false}, {1046, 272, false, true},
{1046, 272, false, false}, {880, 272, false, false}, {1046, 272, false, false}, {987, 272, false, true},
{880, 272, false, true}, {783, 272, false, true}, {880, 272, false, true}, {987, 272, false, true},
{880, 272, false, true}, {783, 272, false, true}, {880, 272, false, true}, {987, 272, false, true},
{880, 272, false, true}, {783, 272, true, false}, {739, 272, false, true}, {659, 545, false, true},
{659, 272, false, false}, {698, 272, false, false}, {783, 272, true, false}, {783, 272, false, false},
{880, 136, false, true}, {783, 136, false, false}, {698, 136, false, false}, {659, 136, false, false},
{587, 272, false, true}, {391, 272, false, false}, {659, 272, false, false}, {698, 272, false, false},
{783, 272, true, false}, {783, 272, false, false}, {880, 136, false, true}, {783, 136, false, false},
{698, 136, false, false}, {659, 136, false, false}, {587, 545, false, true}, {523, 272, false, false},
{587, 272, false, false}, {659, 272, true, false}, {659, 272, false, true}, {698, 136, true, false},
{659, 136, false, false}, {587, 136, false, false}, {523, 136, false, false}, {493, 272, false, true},
{493, 272, false, false}, {523, 272, false, false}, {587, 272, false, false}, {659, 272, true, false},
{659, 272, false, true}, {698, 136, true, false}, {659, 136, false, false}, {587, 136, false, false},
{523, 136, false, false}, {493, 545, false, true}, {493, 136, false, false}, {440, 136, false, false},
{415, 136, false, false}, {440, 136, false, false}, {523, 272, false, true}, {329, 272, false, false},
{587, 136, false, false}, {523, 136, false, false}, {493, 136, false, false}, {523, 136, false, false},
{659, 272, false, true}, {329, 272, false, false}, {698, 136, false, false}, {659, 136, false, false},
{622, 136, false, false}, {659, 136, false, false}, {987, 136, false, true}, {880, 136, false, false},
{830, 136, false, false}, {880, 136, false, false}, {987, 136, false, true}, {880, 136, false, false},
{830, 136, false, false}, {880, 136, false, false}, {1046, 272, false, true}, {311, 272, false, true},
{880, 272, false, true}, {987, 272, false, true}, {1046, 272, false, true}, {987, 272, false, true},
{880, 272, false, true}, {830, 272, false, true}, {880, 272, true, false}, {659, 272, false, true},
{698, 272, false, true}, {587, 272, false, true}, {523, 272, false, true}, {523, 272, false, true},
{493, 272, false, true}, {493, 136, false, true}, {440, 68, false, false}, {493, 68, false, false},
{493, 68, true, true}, {440, 477, false, false}, {440, 136, false, false}, {880, 136, false, false},
{493, 136, false, false}, {987, 136, false, false}, {554, 136, false, true}, {1108, 136, false, false},
{0, 272, false, true}, {440, 136, false, true}, {880, 136, false, false}, {493, 136, false, true},
{987, 136, false, false}, {554, 136, false, true}, {1108, 136, false, false}, {493, 136, false, true},
{987, 136, false, false}, {440, 136, false, true}, {880, 136, false, false}, {415, 136, false, true},
{830, 136, false, false}, {369, 136, false, true}, {739, 136, false, false}, {415, 136, false, true},
{830, 136, false, false}, {440, 136, false, true}, {880, 136, false, false}, {493, 136, false, true},
{987, 136, false, false}, {415, 136, false, true}, {830, 136, false, false}, {329, 136, false, true},
{659, 136, false, false}, {440, 136, false, true}, {880, 136, false, false}, {493, 136, false, true},
{987, 136, false, false}, {554, 136, false, true}, {1108, 136, false, false}, {0, 272, false, true},
{440, 136, false, true}, {880, 136, false, false}, {493, 136, false, true}, {987, 136, false, false},
{554, 136, false, true}, {1108, 136, false, false}, {493, 136, false, true}, {987, 136, false, false},
{440, 136, false, true}, {880, 136, false, false}, {415, 136, false, true}, {830, 136, false, false},
{369, 136, false, true}, {739, 136, false, false}, {493, 136, false, true}, {987, 136, false, false},
{415, 136, false, true}, {830, 136, false, false}, {329, 136, false, true}, {659, 136, false, false},
{880, 545, true, false}, {880, 272, false, true}, {880, 272, false, true}, {1108, 272, false, true},
{1108, 136, false, true}, {1108, 136, false, false}, {1108, 272, false, true}, {1108, 272, false, true},
{1108, 272, false, true}, {1108, 272, false, true}, {1108, 272, false, true}, {1108, 272, false, true},
{1108, 272, false, true}, {1108, 272, false, true}, {1174, 136, false, true}, {1108, 136, false, false},
{987, 136, false, true}, {1108, 136, false, false}, {1174, 136, false, true}, {1108, 136, false, false},
{987, 136, false, true}, {1108, 136, false, false}, {1174, 272, false, true}, {1174, 272, false, true},
{0, 272, false, true}, {0, 272, false, true}, {1108, 272, false, true}, {1108, 272, false, true},
{1108, 272, false, true}, {1108, 272, false, true}, {987, 272, false, true}, {987, 272, false, true},
{987, 272, false, true}, {1318, 272, false, true}, {1108, 272, false, true}, {1108, 272, false, true},
{1108, 272, false, true}, {1108, 272, false, true}, {1108, 272, false, true}, {1108, 272, false, true},
{1108, 272, false, true}, {1108, 272, false, true}, {1174, 136, false, true}, {1108, 136, false, false},
{987, 136, false, true}, {1108, 136, false, false}, {1174, 136, false, true}, {1108, 136, false, false},
{987, 136, false, true}, {1108, 136, false, false}, {1174, 272, false, true}, {1174, 272, false, true},
{1174, 272, false, true}, {1174, 272, false, true}, {1108, 272, false, true}, {1108, 272, false, true},
{1108, 272, false, true}, {1108, 272, false, true}, {987, 272, false, true}, {987, 272, false, true},
{987, 272, false, true}, {987, 272, false, true}, {880, 136, false, true}, {880, 136, false, false},
{880, 136, false, false}, {880, 136, false, false}, {1108, 136, false, true}, {1108, 136, false, false},
{1108, 136, false, false}, {1108, 136, false, false}, {1108, 136, false, true}, {1108, 136, false, false},
{1108, 136, false, false}, {1108, 136, false, false}, {1108, 136, false, true}, {1108, 136, false, false},
{1108, 136, false, false}, {1108, 136, false, false}, {1108, 136, false, true}, {1108, 136, false, false},
{1108, 136, false, false}, {1108, 136, false, false}, {1108, 136, false, true}, {1108, 136, false, false},
{1108, 136, false, false}, {1108, 136, false, false}, {1174, 136, false, true}, {1108, 136, false, false},
{987, 136, false, false}, {1108, 136, false, false}, {1174, 136, false, true}, {1108, 136, false, false},
{987, 136, false, false}, {1108, 136, false, false}, {1174, 136, false, true}, {1174, 136, false, false},
{1174, 136, false, false}, {1174, 136, false, false}, {1174, 136, false, true}, {1174, 136, false, false},
{1174, 136, false, false}, {1174, 136, false, false}, {1108, 136, false, true}, {1108, 136, false, false},
{1108, 136, false, false}, {1108, 136, false, false}, {1108, 136, false, true}, {1108, 136, false, false},
{1108, 136, false, false}, {1108, 136, false, false}, {987, 136, false, true}, {987, 136, false, false},
{987, 136, false, true}, {987, 136, false, false}, {987, 136, false, true}, {987, 136, false, false},
{1318, 136, false, true}, {1318, 136, false, false}, {1108, 272, false, true}, {1108, 272, false, true},
{1108, 272, false, true}, {1108, 272, false, true}, {1108, 272, false, true}, {1108, 272, false, true},
{1108, 272, false, true}, {1108, 272, false, true}, {1174, 136, false, true}, {1108, 136, false, false},
{987, 136, false, true}, {1108, 136, false, false}, {1174, 136, false, true}, {1108, 136, false, false},
{987, 136, false, true}, {1108, 136, false, false}, {1174, 272, false, true}, {1174, 272, false, true},
{1174, 272, false, true}, {1174, 272, false, true}, {1108, 272, false, true}, {1108, 272, false, true},
{1108, 272, false, true}, {1108, 272, false, true}, {987, 272, false, true}, {987, 272, false, true},
{987, 272, false, true}, {987, 272, false, true}, {880, 272, false, true}, {880, 272, false, true},
{880, 272, false, true}, {1108, 272, false, true}, {880, 272, false, true}, {880, 272, false, true},
{880, 272, false, true}, {1318, 272, false, true}, {880, 272, false, true}, {880, 272, false, true},
{880, 272, false, true}, {1108, 272, false, true}, {880, 272, false, true}, {1108, 272, false, true},
{880, 272, false, true}, {1318, 272, false, true}, {880, 545, true, false}, {880, 545, true, true},
{880, 545, true, true},
{0, 2000, false, false}
};
// Converted from: tetris_1.mid (Clean Melody & Bass-Routed Edition)
const SequenceStep midi_tetris_1[] = {
{659, 266, false, true}, {659, 14, false, false}, {659, 232, false, false}, {493, 15, false, true},
{493, 216, false, false}, {0, 15, false, false}, {523, 14, false, false}, {523, 219, false, false},
{329, 15, false, false}, {587, 14, false, true}, {587, 236, false, false}, {587, 14, false, false},
{587, 236, false, false}, {523, 15, false, true}, {523, 223, false, false}, {0, 15, false, false},
{493, 15, false, false}, {493, 226, false, false}, {329, 17, false, false}, {440, 13, true, false},
{440, 256, false, false}, {440, 14, false, true}, {440, 232, false, false}, {440, 15, true, false},
{440, 216, false, false}, {0, 15, false, false}, {523, 14, false, true}, {523, 219, false, false},
{0, 15, false, false}, {659, 14, true, false}, {659, 234, false, false}, {659, 14, false, true},
{659, 231, false, false}, {587, 15, true, false}, {587, 216, false, false}, {0, 15, false, false},
{523, 14, false, true}, {523, 217, false, false}, {0, 17, false, false}, {493, 12, true, false},
{493, 251, false, false}, {493, 14, false, true}, {493, 232, false, false}, {493, 15, true, false},
{493, 216, false, false}, {0, 15, false, false}, {523, 14, false, true}, {523, 219, false, false},
{0, 15, false, false}, {587, 14, true, false}, {587, 234, false, false}, {587, 14, false, true},
{587, 231, false, false}, {659, 15, true, false}, {659, 231, false, false}, {659, 14, false, true},
{659, 232, false, false}, {523, 15, true, false}, {523, 251, false, false}, {523, 14, false, true},
{523, 232, false, false}, {440, 15, true, false}, {440, 231, false, false}, {440, 14, false, true},
{440, 233, false, false}, {440, 15, true, false}, {440, 234, false, false}, {440, 14, false, true},
{440, 231, false, false}, {0, 15, true, true}, {0, 201, false, false}, {0, 30, false, false},
{261, 14, true, false}, {261, 202, false, false}, {0, 32, false, false}, {0, 12, false, true},
{0, 251, false, false}, {293, 14, false, false}, {293, 233, false, false}, {587, 14, false, true},
{587, 231, false, false}, {587, 14, false, false}, {587, 233, false, false}, {698, 15, false, true},
{698, 219, false, false}, {0, 15, false, false}, {880, 14, false, false}, {880, 231, false, false},
{880, 14, false, true}, {880, 216, false, false}, {0, 15, false, false}, {293, 14, false, false},
{293, 234, false, false}, {783, 12, false, true}, {783, 236, false, false}, {0, 15, false, false},
{698, 14, false, false}, {698, 218, false, false}, {293, 15, false, false}, {659, 14, true, false},
{659, 231, false, false}, {659, 14, false, false}, {659, 234, false, false}, {659, 14, true, false},
{659, 234, false, false}, {659, 14, false, false}, {659, 231, false, false}, {523, 15, true, false},
{523, 216, false, false}, {0, 15, false, false}, {659, 14, false, false}, {659, 234, false, false},
{659, 12, true, false}, {659, 251, false, false}, {659, 14, false, false}, {659, 232, false, false},
{587, 15, true, false}, {587, 220, false, false}, {0, 11, false, false}, {523, 14, false, false},
{523, 219, false, false}, {261, 15, false, false}, {493, 14, true, false}, {493, 234, false, false},
{493, 14, false, true}, {493, 231, false, false}, {493, 14, true, false}, {493, 229, false, false},
{523, 17, false, true}, {523, 217, false, false}, {0, 17, false, false}, {587, 12, true, false},
{587, 251, false, false}, {587, 14, false, true}, {587, 218, false, false}, {0, 15, false, false},
{659, 14, true, false}, {659, 231, false, false}, {659, 14, false, true}, {659, 233, false, false},
{523, 15, true, false}, {523, 234, false, false}, {523, 14, false, true}, {523, 231, false, false},
{440, 15, true, false}, {440, 231, false, false}, {440, 14, false, true}, {440, 232, false, false},
{440, 15, true, false}, {440, 251, false, false}, {440, 14, false, true}, {440, 232, false, false},
{0, 15, true, false}, {0, 231, false, false}, {0, 14, false, true}, {0, 249, false, false},
{0, 977, false, false}, {659, 264, true, false}, {659, 14, false, true}, {659, 233, false, false},
{659, 14, true, false}, {659, 231, false, false}, {659, 14, false, true}, {659, 233, false, false},
{523, 15, true, false}, {523, 234, false, false}, {523, 14, false, true}, {523, 231, false, false},
{523, 14, true, false}, {523, 231, false, false}, {523, 14, false, true}, {523, 232, false, false},
{587, 15, true, false}, {587, 251, false, false}, {587, 14, false, true}, {587, 233, false, false},
{587, 14, true, false}, {587, 231, false, false}, {587, 14, false, true}, {587, 233, false, false},
{493, 15, true, false}, {493, 234, false, false}, {493, 14, false, true}, {493, 231, false, false},
{493, 14, true, false}, {493, 231, false, false}, {493, 14, false, true}, {493, 232, false, false},
{523, 15, true, false}, {523, 251, false, false}, {523, 14, false, true}, {523, 233, false, false},
{523, 14, true, false}, {523, 231, false, false}, {523, 14, false, true}, {523, 233, false, false},
{440, 15, true, false}, {440, 234, false, false}, {440, 14, false, true}, {440, 231, false, false},
{440, 14, true, false}, {440, 231, false, false}, {440, 14, false, true}, {440, 232, false, false},
{415, 15, true, false}, {415, 251, false, false}, {415, 14, false, true}, {415, 233, false, false},
{415, 14, true, false}, {415, 231, false, false}, {415, 14, false, true}, {415, 233, false, false},
{493, 15, true, false}, {493, 234, false, false}, {493, 14, false, true}, {493, 231, false, false},
{493, 14, true, false}, {493, 231, false, false}, {493, 14, false, true}, {493, 232, false, false},
{659, 15, true, false}, {659, 251, false, false}, {659, 14, false, true}, {659, 233, false, false},
{659, 14, true, false}, {659, 231, false, false}, {659, 14, false, true}, {659, 233, false, false},
{523, 15, true, false}, {523, 234, false, false}, {523, 14, false, true}, {523, 231, false, false},
{523, 14, true, false}, {523, 231, false, false}, {523, 14, false, true}, {523, 232, false, false},
{587, 15, true, false}, {587, 251, false, false}, {587, 14, false, true}, {587, 233, false, false},
{587, 14, true, false}, {587, 231, false, false}, {587, 14, false, true}, {587, 233, false, false},
{493, 15, true, false}, {493, 234, false, false}, {493, 14, false, true}, {493, 231, false, false},
{493, 14, true, false}, {493, 231, false, false}, {493, 14, false, true}, {493, 232, false, false},
{523, 15, true, false}, {523, 251, false, false}, {523, 14, false, true}, {523, 232, false, false},
{659, 15, true, false}, {659, 231, false, false}, {659, 14, false, true}, {659, 233, false, false},
{880, 15, true, false}, {880, 234, false, false}, {880, 14, false, true}, {880, 231, false, false},
{880, 14, true, false}, {880, 231, false, false}, {880, 14, false, true}, {880, 232, false, false},
{830, 15, true, false}, {830, 251, false, false}, {830, 14, false, true}, {830, 233, false, false},
{830, 14, true, false}, {830, 231, false, false}, {830, 14, false, true}, {830, 234, false, false},
{830, 14, true, false}, {830, 234, false, false}, {830, 14, false, true}, {830, 231, false, false},
{830, 14, true, false}, {830, 231, false, false}, {830, 14, false, true}, {830, 232, false, false},
{0, 15, false, false},
{0, 2000, false, false}
};
// Converted from: sonic.mid (Clean Melody & Bass-Routed Edition)
const SequenceStep midi_sonic[] = {
{880, 114, false, false}, {698, 95, false, false}, {880, 95, true, false}, {698, 87, false, false},
{698, 11, false, false}, {987, 99, true, false}, {783, 83, false, false}, {783, 11, false, false},
{987, 95, true, false}, {783, 89, false, false}, {783, 11, false, false}, {1046, 101, true, false},
{880, 83, false, false}, {880, 11, false, false}, {1046, 95, true, false}, {880, 87, false, false},
{880, 11, false, false}, {1174, 99, true, false}, {987, 83, false, false}, {987, 11, false, false},
{1174, 95, true, false}, {987, 87, false, false}, {987, 13, false, false}, {493, 90, true, false},
{493, 118, false, false}, {493, 77, true, false}, {493, 118, false, false}, {493, 75, true, false},
{493, 118, false, false}, {440, 78, true, false}, {440, 118, false, false}, {440, 77, true, false},
{440, 118, false, false}, {440, 75, true, false}, {440, 118, false, false}, {493, 76, true, false},
{493, 118, false, false}, {493, 76, true, false}, {493, 120, false, false}, {493, 90, true, false},
{493, 106, false, false}, {493, 11, false, false}, {440, 77, true, false}, {440, 118, false, false},
{440, 75, true, false}, {440, 118, false, false}, {440, 77, true, false}, {440, 118, false, false},
{493, 78, true, false}, {493, 118, false, false}, {493, 75, true, false}, {493, 118, false, false},
{440, 76, true, false}, {440, 118, false, false}, {440, 76, true, false}, {440, 118, false, false},
{523, 92, true, false}, {523, 118, false, false}, {523, 77, true, false}, {523, 118, false, false},
{523, 75, true, false}, {523, 118, false, false}, {493, 78, true, false}, {493, 118, false, false},
{493, 77, true, false}, {493, 118, false, false}, {493, 75, true, false}, {493, 118, false, false},
{440, 76, true, false}, {440, 118, false, false}, {440, 76, true, false}, {440, 120, false, false},
{440, 90, true, false}, {440, 118, false, false}, {440, 195, true, false}, {440, 23, true, false},
{440, 52, false, false}, {440, 118, false, false}, {440, 196, true, false}, {440, 23, true, false},
{440, 54, false, false}, {440, 118, false, false}, {440, 194, true, false}, {440, 23, true, false},
{440, 52, false, false}, {440, 118, false, false}, {440, 76, true, false}, {440, 118, false, false},
{440, 92, true, false}, {440, 118, false, false}, {440, 77, true, false}, {440, 118, false, false},
{440, 75, true, false}, {440, 118, false, false}, {493, 78, true, false}, {493, 118, false, false},
{493, 77, true, false}, {493, 118, false, false}, {493, 75, true, false}, {493, 118, false, false},
{523, 76, true, false}, {523, 118, false, false}, {523, 76, true, false}, {523, 118, false, false},
{440, 92, true, false}, {440, 118, false, false}, {440, 77, true, false}, {440, 118, false, false},
{440, 75, true, false}, {440, 118, false, false}, {493, 78, true, false}, {493, 118, false, false},
{493, 77, true, false}, {493, 118, false, false}, {493, 75, true, false}, {493, 118, false, false},
{523, 76, true, false}, {523, 118, false, false}, {523, 76, true, false}, {523, 118, false, false},
{523, 92, true, false}, {523, 118, false, false}, {523, 77, true, false}, {523, 118, false, false},
{523, 75, true, false}, {523, 118, false, false}, {493, 78, true, false}, {493, 118, false, false},
{493, 77, true, false}, {493, 118, false, false}, {493, 75, true, false}, {493, 118, false, false},
{493, 75, true, false}, {493, 118, false, false}, {493, 76, true, false}, {493, 120, false, false},
{493, 90, true, false}, {493, 118, false, false}, {493, 77, true, false}, {493, 118, false, false},
{493, 75, true, false}, {493, 118, false, false}, {493, 77, true, false}, {493, 118, false, false},
{0, 78, true, false}, {0, 118, false, false}, {0, 194, true, false}, {0, 23, true, false},
{0, 171, false, false}, {0, 23, true, false}, {0, 173, false, false}, {0, 21, true, false},
{0, 68, false, false}, {0, 118, false, false}, {0, 77, true, false}, {0, 118, false, false},
{0, 75, true, false}, {0, 118, false, false}, {0, 77, true, false}, {0, 118, false, false},
{1046, 77, true, false}, {1046, 106, false, false}, {0, 11, false, false}, {880, 75, true, false},
{880, 118, false, false}, {880, 75, true, false}, {880, 118, false, false}, {1046, 183, true, false},
{0, 13, false, false}, {987, 21, true, false}, {987, 68, false, false}, {987, 118, false, false},
{987, 77, true, false}, {987, 118, false, false}, {1046, 76, true, false}, {1046, 106, false, false},
{0, 11, false, false}, {987, 77, true, false}, {987, 118, false, false}, {987, 77, true, false},
{987, 106, false, false}, {0, 11, false, false}, {783, 194, true, false}, {783, 23, true, false},
{783, 171, false, false}, {783, 23, true, false}, {783, 171, false, false}, {0, 23, true, false},
{0, 68, false, false}, {0, 118, false, false}, {0, 77, true, false}, {0, 118, false, false},
{0, 75, true, false}, {0, 118, false, false}, {783, 77, true, false}, {783, 118, false, false},
{1318, 11, true, false}, {1318, 66, false, false}, {1318, 118, false, false}, {1318, 11, true, false},
{1174, 64, false, false}, {1174, 118, false, false}, {1174, 75, true, false}, {1174, 118, false, false},
{1046, 183, true, false}, {0, 13, false, false}, {987, 21, true, false}, {987, 68, false, false},
{987, 118, false, false}, {987, 77, true, false}, {987, 118, false, false}, {1046, 76, true, false},
{1046, 106, false, false}, {0, 11, false, false}, {987, 77, true, false}, {987, 118, false, false},
{987, 77, true, false}, {987, 106, false, false}, {0, 11, false, false}, {783, 194, true, false},
{783, 23, true, false}, {783, 171, false, false}, {783, 23, true, false}, {783, 171, false, false},
{0, 23, true, false}, {0, 68, false, false}, {0, 118, false, false}, {0, 77, true, false},
{0, 118, false, false}, {0, 75, true, false}, {0, 118, false, false}, {0, 77, true, false},
{0, 118, false, false}, {1046, 77, true, false}, {1046, 106, false, false}, {0, 11, false, false},
{880, 75, true, false}, {880, 118, false, false}, {880, 75, true, false}, {880, 118, false, false},
{1046, 183, true, false}, {0, 13, false, false}, {987, 21, true, false}, {987, 68, false, false},
{987, 118, false, false}, {987, 77, true, false}, {987, 118, false, false}, {1046, 76, true, false},
{1046, 106, false, false}, {0, 11, false, false}, {987, 77, true, false}, {987, 118, false, false},
{987, 77, true, false}, {987, 106, false, false}, {0, 11, false, false}, {783, 75, true, false},
{783, 118, false, false}, {783, 75, true, false}, {783, 118, false, false}, {783, 195, true, false},
{0, 23, true, false}, {0, 68, false, false}, {0, 118, false, false}, {0, 77, true, false},
{0, 118, false, false}, {0, 75, true, false}, {0, 118, false, false}, {880, 77, true, false},
{880, 118, false, false}, {880, 78, true, false}, {880, 118, false, false}, {880, 11, true, false},
{698, 64, false, false}, {698, 118, false, false}, {698, 75, true, false}, {698, 118, false, false},
{880, 183, true, false}, {0, 13, false, false}, {783, 21, true, false}, {783, 68, false, false},
{783, 118, false, false}, {783, 77, true, false}, {783, 118, false, false}, {880, 76, true, false},
{880, 106, false, false}, {0, 11, false, false}, {783, 77, true, false}, {783, 118, false, false},
{783, 77, true, false}, {783, 106, false, false}, {0, 11, false, false}, {523, 194, true, false},
{523, 23, true, false}, {523, 171, false, false}, {523, 23, true, false}, {523, 171, false, false},
{0, 23, true, false}, {0, 68, false, false}, {0, 118, false, false}, {0, 77, true, false},
{0, 118, false, false}, {0, 75, true, false}, {0, 118, false, false}, {0, 77, true, false},
{0, 118, false, false}, {1046, 77, true, false}, {1046, 106, false, false}, {0, 11, false, false},
{880, 75, true, false}, {880, 118, false, false}, {880, 75, true, false}, {880, 118, false, false},
{1046, 183, true, false}, {0, 13, false, false}, {987, 21, true, false}, {987, 68, false, false},
{987, 118, false, false}, {987, 77, true, false}, {987, 118, false, false}, {1046, 76, true, false},
{1046, 106, false, false}, {0, 11, false, false}, {987, 77, true, false}, {987, 118, false, false},
{987, 77, true, false}, {987, 106, false, false}, {0, 11, false, false}, {783, 194, true, false},
{783, 23, true, false}, {783, 171, false, false}, {783, 23, true, false}, {783, 171, false, false},
{0, 23, true, false}, {0, 68, false, false}, {0, 118, false, false}, {0, 77, true, false},
{0, 118, false, false}, {0, 75, true, false}, {0, 118, false, false}, {783, 77, true, false},
{783, 118, false, false}, {1318, 11, true, false}, {1318, 66, false, false}, {1318, 118, false, false},
{1318, 11, true, false}, {1174, 64, false, false}, {1174, 118, false, false}, {1174, 75, true, false},
{1174, 118, false, false}, {1046, 183, true, false}, {0, 13, false, false}, {987, 21, true, false},
{987, 68, false, false}, {987, 118, false, false}, {987, 77, true, false}, {987, 118, false, false},
{1046, 76, true, false}, {1046, 106, false, false}, {0, 11, false, false}, {987, 77, true, false},
{987, 118, false, false}, {987, 77, true, false}, {987, 106, false, false}, {0, 11, false, false},
{783, 194, true, false}, {783, 23, true, false}, {783, 171, false, false}, {783, 23, true, false},
{783, 171, false, false}, {0, 23, true, false}, {0, 68, false, false}, {0, 118, false, false},
{0, 77, true, false}, {0, 118, false, false}, {0, 75, true, false}, {0, 118, false, false},
{0, 77, true, false}, {0, 118, false, false}, {1046, 77, true, false}, {1046, 106, false, false},
{0, 11, false, false}, {880, 75, true, false}, {880, 118, false, false}, {880, 75, true, false},
{880, 118, false, false}, {1046, 183, true, false}, {0, 13, false, false}, {987, 21, true, false},
{987, 68, false, false}, {987, 118, false, false}, {987, 77, true, false}, {987, 118, false, false},
{1046, 76, true, false}, {1046, 106, false, false}, {0, 11, false, false}, {987, 77, true, false},
{987, 118, false, false}, {987, 77, true, false}, {987, 106, false, false}, {0, 11, false, false},
{783, 75, true, false}, {783, 118, false, false}, {783, 75, true, false}, {783, 118, false, false},
{783, 195, true, false}, {0, 23, true, false}, {0, 68, false, false}, {0, 118, false, false},
{0, 77, true, false}, {0, 118, false, false}, {0, 75, true, false}, {0, 118, false, false},
{880, 77, true, false}, {880, 118, false, false}, {880, 78, true, false}, {880, 118, false, false},
{880, 11, true, false}, {698, 64, false, false}, {698, 118, false, false}, {698, 75, true, false},
{698, 118, false, false}, {880, 183, true, false}, {0, 13, false, false}, {783, 21, true, false},
{783, 68, false, false}, {783, 118, false, false}, {783, 77, true, false}, {783, 118, false, false},
{880, 76, true, false}, {880, 106, false, false}, {0, 11, false, false}, {783, 77, true, false},
{783, 118, false, false}, {783, 77, true, false}, {783, 107, false, false}, {0, 12, false, false},
{523, 76, true, false}, {523, 120, false, false}, {523, 78, true, false}, {523, 109, false, false},
{0, 12, false, false}, {659, 79, true, false}, {659, 110, false, false}, {0, 13, false, false},
{587, 602, true, true}, {587, 587, true, true}, {587, 589, true, true}, {587, 11, false, false},
{587, 587, true, true}, {587, 391, true, true}, {440, 183, true, true}, {349, 11, false, false},
{523, 183, false, false}, {349, 11, false, false}, {659, 601, true, true}, {659, 591, true, true},
{659, 604, true, true}, {659, 11, false, false}, {659, 587, false, true}, {659, 196, false, true},
{659, 194, false, false}, {880, 183, false, true}, {880, 11, false, false}, {880, 183, false, false},
{880, 11, false, false}, {830, 601, true, true}, {783, 587, true, true}, {698, 390, true, true},
{698, 198, false, false}, {0, 11, false, false}, {622, 587, true, true}, {587, 391, true, true},
{523, 183, true, false}, {0, 11, false, false}, {622, 183, false, false}, {0, 11, false, false},
{587, 601, true, false}, {587, 587, true, true}, {587, 390, true, false}, {587, 198, true, false},
{587, 11, false, false}, {587, 184, true, false}, {587, 11, false, false}, {587, 182, true, false},
{587, 11, false, false}, {587, 184, true, false}, {587, 11, false, false}, {587, 185, true, false},
{587, 11, false, false}, {587, 182, true, false}, {587, 11, false, false}, {587, 183, true, false},
{587, 11, false, false}, {587, 183, true, false}, {587, 11, false, false}, {0, 92, true, false},
{0, 118, false, false}, {0, 77, true, false}, {0, 118, false, false}, {0, 75, true, false},
{0, 118, false, false}, {0, 77, true, false}, {0, 118, false, false}, {1046, 77, true, false},
{1046, 106, false, false}, {0, 11, false, false}, {880, 75, true, false}, {880, 118, false, false},
{880, 75, true, false}, {880, 118, false, false}, {1046, 183, true, false}, {0, 13, false, false},
{987, 21, true, false}, {987, 68, false, false}, {987, 118, false, false}, {987, 77, true, false},
{987, 118, false, false}, {1046, 76, true, false}, {1046, 106, false, false}, {0, 11, false, false},
{987, 77, true, false}, {987, 118, false, false}, {987, 77, true, false}, {987, 106, false, false},
{0, 11, false, false}, {783, 194, true, false}, {783, 23, true, false}, {783, 171, false, false},
{783, 23, true, false}, {783, 171, false, false}, {0, 23, true, false}, {0, 68, false, false},
{0, 118, false, false}, {0, 77, true, false}, {0, 118, false, false}, {0, 75, true, false},
{0, 118, false, false}, {783, 77, true, false}, {783, 118, false, false}, {1318, 11, true, false},
{1318, 66, false, false}, {1318, 118, false, false}, {1318, 11, true, false}, {1174, 64, false, false},
{1174, 118, false, false}, {1174, 75, true, false}, {1174, 118, false, false}, {1046, 183, true, false},
{0, 13, false, false}, {987, 21, true, false}, {987, 68, false, false}, {987, 118, false, false},
{987, 77, true, false}, {987, 118, false, false}, {1046, 76, true, false}, {1046, 106, false, false},
{0, 11, false, false}, {987, 77, true, false}, {987, 118, false, false}, {987, 77, true, false},
{987, 106, false, false}, {0, 11, false, false}, {783, 194, true, false}, {783, 23, true, false},
{783, 171, false, false}, {783, 23, true, false}, {783, 171, false, false}, {0, 23, true, false},
{0, 68, false, false}, {0, 118, false, false}, {0, 77, true, false}, {0, 118, false, false},
{0, 75, true, false}, {0, 118, false, false}, {0, 77, true, false}, {0, 118, false, false},
{1046, 77, true, false}, {1046, 106, false, false}, {0, 11, false, false}, {880, 75, true, false},
{880, 118, false, false}, {880, 75, true, false}, {880, 118, false, false}, {1046, 183, true, false},
{0, 13, false, false}, {987, 21, true, false}, {987, 68, false, false}, {987, 118, false, false},
{987, 77, true, false}, {987, 118, false, false}, {1046, 76, true, false}, {1046, 106, false, false},
{0, 11, false, false}, {987, 77, true, false}, {987, 118, false, false}, {987, 77, true, false},
{987, 106, false, false}, {0, 11, false, false}, {783, 75, true, false}, {783, 118, false, false},
{783, 75, true, false}, {783, 118, false, false}, {783, 195, true, false}, {0, 23, true, false},
{0, 68, false, false}, {0, 118, false, false}, {0, 77, true, false}, {0, 118, false, false},
{0, 75, true, false}, {0, 118, false, false}, {880, 77, true, false}, {880, 118, false, false},
{880, 78, true, false}, {880, 118, false, false}, {880, 11, true, false}, {698, 64, false, false},
{698, 118, false, false}, {698, 75, true, false}, {698, 118, false, false}, {880, 183, true, false},
{0, 13, false, false}, {783, 21, true, false}, {783, 68, false, false}, {783, 118, false, false},
{783, 77, true, false}, {783, 118, false, false}, {880, 76, true, false}, {880, 106, false, false},
{0, 11, false, false}, {783, 77, true, false}, {783, 118, false, false}, {783, 77, true, false},
{783, 106, false, false}, {0, 11, false, false}, {523, 194, true, false}, {523, 23, true, false},
{523, 171, false, false}, {523, 23, true, false}, {523, 171, false, false}, {0, 23, true, false},
{0, 68, false, false}, {0, 118, false, false}, {0, 77, true, false}, {0, 118, false, false},
{0, 75, true, false}, {0, 118, false, false}, {0, 77, true, false}, {0, 118, false, false},
{1046, 77, true, false}, {1046, 106, false, false}, {0, 11, false, false}, {880, 75, true, false},
{880, 118, false, false}, {880, 75, true, false}, {880, 118, false, false}, {1046, 183, true, false},
{0, 13, false, false}, {987, 21, true, false}, {987, 68, false, false}, {987, 118, false, false},
{987, 77, true, false}, {987, 118, false, false}, {1046, 76, true, false}, {1046, 106, false, false},
{0, 11, false, false}, {987, 77, true, false}, {987, 118, false, false}, {987, 77, true, false},
{987, 106, false, false}, {0, 11, false, false}, {783, 194, true, false}, {783, 23, true, false},
{783, 171, false, false}, {783, 23, true, false}, {783, 171, false, false}, {0, 23, true, false},
{0, 68, false, false}, {0, 118, false, false}, {0, 77, true, false}, {0, 118, false, false},
{0, 75, true, false}, {0, 118, false, false}, {783, 77, true, false}, {783, 118, false, false},
{1318, 11, true, false}, {1318, 66, false, false}, {1318, 118, false, false}, {1318, 11, true, false},
{1174, 64, false, false}, {1174, 118, false, false}, {1174, 75, true, false}, {1174, 118, false, false},
{1046, 183, true, false}, {0, 13, false, false}, {987, 21, true, false}, {987, 68, false, false},
{987, 118, false, false}, {987, 77, true, false}, {987, 118, false, false}, {1046, 76, true, false},
{1046, 106, false, false}, {0, 11, false, false}, {987, 77, true, false}, {987, 118, false, false},
{987, 77, true, false}, {987, 106, false, false}, {0, 11, false, false}, {783, 194, true, false},
{783, 23, true, false}, {783, 171, false, false}, {783, 23, true, false}, {783, 171, false, false},
{0, 23, true, false}, {0, 68, false, false}, {0, 118, false, false}, {0, 77, true, false},
{0, 118, false, false}, {0, 75, true, false}, {0, 118, false, false}, {0, 77, true, false},
{0, 118, false, false}, {1046, 77, true, false}, {1046, 106, false, false}, {0, 11, false, false},
{880, 75, true, false}, {880, 118, false, false}, {880, 75, true, false}, {880, 118, false, false},
{1046, 183, true, false}, {0, 13, false, false}, {987, 21, true, false}, {987, 68, false, false},
{987, 118, false, false}, {987, 77, true, false}, {987, 118, false, false}, {1046, 76, true, false},
{1046, 106, false, false}, {0, 11, false, false}, {987, 77, true, false}, {987, 118, false, false},
{987, 77, true, false}, {987, 106, false, false}, {0, 11, false, false}, {783, 75, true, false},
{783, 118, false, false}, {783, 75, true, false}, {783, 118, false, false}, {783, 195, true, false},
{0, 23, true, false}, {0, 68, false, false}, {0, 118, false, false}, {0, 77, true, false},
{0, 118, false, false}, {0, 75, true, false}, {0, 118, false, false}, {880, 77, true, false},
{880, 118, false, false}, {880, 78, true, false}, {880, 118, false, false}, {880, 11, true, false},
{698, 64, false, false}, {698, 118, false, false}, {698, 75, true, false}, {698, 118, false, false},
{880, 183, true, false}, {0, 13, false, false}, {783, 21, true, false}, {783, 68, false, false},
{783, 118, false, false}, {783, 77, true, false}, {783, 118, false, false}, {880, 76, true, false},
{880, 106, false, false}, {0, 11, false, false}, {783, 77, true, false}, {783, 118, false, false},
{783, 77, true, false}, {783, 107, false, false}, {0, 12, false, false}, {523, 76, true, false},
{523, 120, false, false}, {523, 78, true, false}, {523, 109, false, false}, {0, 12, false, false},
{659, 79, true, false}, {659, 110, false, false}, {0, 13, false, false}, {587, 602, true, true},
{587, 587, true, true}, {587, 589, true, true}, {587, 11, false, false}, {587, 587, true, true},
{587, 391, true, true}, {440, 183, true, true}, {349, 11, false, false}, {523, 183, false, false},
{349, 11, false, false}, {659, 601, true, true}, {659, 591, true, true}, {659, 604, true, true},
{659, 11, false, false}, {659, 587, false, true}, {659, 196, false, true}, {659, 194, false, false},
{880, 183, false, true}, {880, 11, false, false}, {880, 183, false, false}, {880, 11, false, false},
{830, 601, true, true}, {783, 587, true, true}, {698, 390, true, true}, {698, 198, false, false},
{0, 11, false, false}, {622, 587, true, true}, {587, 391, true, true}, {523, 183, true, false},
{0, 11, false, false}, {622, 183, false, false}, {0, 11, false, false}, {587, 601, true, false},
{587, 587, true, true}, {587, 390, true, false}, {587, 198, true, false}, {587, 11, false, false},
{587, 184, true, false}, {587, 11, false, false}, {587, 182, true, false}, {587, 11, false, false},
{587, 184, true, false}, {587, 11, false, false}, {587, 185, true, false}, {587, 11, false, false},
{587, 182, true, false}, {587, 11, false, false}, {587, 183, true, false}, {587, 11, false, false},
{587, 183, true, false}, {587, 11, false, false},
{0, 2000, false, false}
};
// Converted from: cast.mid (Clean Melody & Bass-Routed Edition)
const SequenceStep midi_cast[] = {
{587, 144, true, false}, {587, 228, true, false}, {587, 14, false, false}, {523, 119, true, false},
{0, 133, true, false}, {493, 369, false, false}, {493, 249, true, false}, {493, 121, true, false},
{391, 14, true, false}, {293, 110, false, false}, {293, 125, true, false}, {329, 113, true, false},
{349, 128, true, false}, {391, 119, true, false}, {440, 14, true, false}, {440, 259, false, false},
{440, 121, true, false}, {293, 126, true, true}, {293, 231, true, false}, {293, 14, false, false},
{440, 234, false, false}, {440, 14, false, false}, {391, 121, true, false}, {523, 128, true, false},
{523, 231, true, false}, {523, 15, false, false}, {523, 246, true, false}, {523, 232, true, false},
{523, 14, false, false}, {587, 145, true, false}, {587, 228, true, false}, {587, 14, false, false},
{523, 119, true, false}, {0, 133, true, false}, {493, 369, false, false}, {493, 249, true, false},
{493, 121, true, false}, {391, 14, true, false}, {293, 110, false, false}, {293, 125, true, false},
{329, 113, true, false}, {349, 128, true, false}, {391, 119, true, false}, {440, 14, true, false},
{440, 259, false, false}, {440, 121, true, false}, {293, 126, true, true}, {293, 231, true, false},
{293, 14, false, false}, {440, 234, false, false}, {440, 14, false, false}, {391, 128, true, false},
{391, 121, true, false}, {391, 231, true, false}, {391, 15, false, false}, {391, 246, true, false},
{391, 232, true, false}, {391, 14, false, false}, {0, 266, true, false}, {587, 121, true, false},
{587, 111, true, false}, {587, 14, false, false}, {0, 126, true, false}, {880, 241, false, false},
{880, 127, true, false}, {830, 121, true, false}, {880, 120, false, false}, {830, 121, true, false},
{698, 125, true, false}, {0, 132, true, false}, {0, 121, true, false}, {0, 121, true, false},
{0, 128, true, false}, {880, 264, true, false}, {880, 114, true, false}, {830, 126, true, false},
{0, 125, true, false}, {830, 120, true, false}, {783, 121, false, false}, {0, 135, true, false},
{880, 120, false, false}, {698, 120, true, false}, {880, 14, true, false}, {880, 106, false, false},
{830, 125, false, false}, {587, 125, true, false}, {830, 121, false, false}, {783, 121, true, false},
{698, 119, false, false}, {0, 17, false, false}, {0, 264, true, false}, {587, 121, true, false},
{587, 111, true, false}, {587, 14, false, false}, {0, 126, true, false}, {880, 241, false, false},
{880, 127, true, false}, {830, 121, true, false}, {880, 120, false, false}, {830, 121, true, false},
{698, 125, true, false}, {0, 132, true, false}, {0, 121, true, false}, {0, 121, true, false},
{0, 128, true, false}, {880, 264, true, false}, {880, 114, true, false}, {830, 126, true, false},
{0, 125, true, false}, {830, 120, true, false}, {783, 121, false, false}, {0, 135, true, false},
{880, 120, false, false}, {698, 120, true, false}, {880, 14, true, false}, {880, 106, false, false},
{830, 125, false, false}, {587, 125, true, false}, {830, 121, false, false}, {783, 121, true, false},
{698, 126, false, false}, {554, 22, true, false}, {554, 373, false, false}, {659, 358, false, false},
{659, 14, false, false}, {932, 234, false, false}, {932, 14, false, false}, {880, 370, true, false},
{698, 357, false, false}, {698, 14, false, false}, {587, 232, false, false}, {587, 14, false, false},
{554, 388, true, false}, {659, 358, false, false}, {659, 14, false, false}, {932, 234, false, false},
{932, 14, false, false}, {880, 370, true, false}, {587, 118, false, false}, {0, 501, false, false},
{554, 388, true, false}, {659, 358, false, false}, {659, 14, false, false}, {932, 234, false, false},
{932, 14, false, false}, {880, 370, true, false}, {698, 357, false, false}, {698, 14, false, false},
{587, 232, false, false}, {587, 14, false, false}, {659, 388, true, false}, {783, 358, false, false},
{783, 14, false, false}, {932, 234, false, false}, {932, 14, false, false}, {880, 370, true, false},
{987, 357, false, false}, {987, 14, false, false}, {1108, 232, false, false}, {1108, 14, false, false},
{1174, 145, true, false}, {1174, 114, false, false}, {587, 128, true, false}, {587, 141, false, false},
{587, 111, false, false}, {587, 112, true, false}, {587, 241, true, false}, {587, 15, false, false},
{587, 495, true, false}, {587, 494, false, false}, {0, 266, true, true}, {0, 248, true, true},
{293, 15, false, true}, {293, 103, false, false}, {349, 376, false, false}, {261, 249, true, true},
{261, 246, true, true}, {329, 15, false, false}, {329, 103, false, false}, {391, 375, false, false},
{1174, 145, true, false}, {1174, 114, false, false}, {587, 128, true, false}, {587, 141, false, false},
{587, 111, false, false}, {587, 112, true, false}, {587, 241, true, false}, {587, 15, false, false},
{587, 495, true, false}, {587, 494, false, false}, {0, 266, true, true}, {0, 248, true, true},
{293, 15, false, true}, {293, 103, false, false}, {349, 376, false, false}, {261, 249, true, true},
{261, 246, true, false}, {0, 15, true, false}, {0, 103, false, false}, {0, 375, true, false},
{587, 145, true, false}, {587, 228, true, false}, {587, 14, false, false}, {523, 119, true, false},
{0, 133, true, false}, {493, 369, false, false}, {493, 249, true, false}, {493, 121, true, false},
{391, 14, true, false}, {293, 110, false, false}, {293, 125, true, false}, {329, 113, true, false},
{349, 128, true, false}, {391, 119, true, false}, {440, 14, true, false}, {440, 259, false, false},
{440, 121, true, false}, {293, 126, true, true}, {293, 231, true, false}, {293, 14, false, false},
{440, 234, false, false}, {440, 14, false, false}, {391, 121, true, false}, {523, 128, true, false},
{523, 231, true, false}, {523, 15, false, false}, {523, 246, true, false}, {523, 232, true, false},
{523, 14, false, false}, {587, 145, true, false}, {587, 228, true, false}, {587, 14, false, false},
{523, 119, true, false}, {0, 133, true, false}, {493, 369, false, false}, {493, 249, true, false},
{493, 121, true, false}, {391, 14, true, false}, {293, 110, false, false}, {293, 125, true, false},
{329, 113, true, false}, {349, 128, true, false}, {391, 119, true, false}, {440, 14, true, false},
{440, 259, false, false}, {440, 121, true, false}, {293, 126, true, true}, {293, 231, true, false},
{293, 14, false, false}, {440, 234, false, false}, {440, 14, false, false}, {391, 128, true, false},
{391, 121, true, false}, {391, 231, true, false}, {391, 15, false, false}, {391, 246, true, false},
{391, 232, true, false}, {391, 14, false, false}, {0, 266, true, false}, {587, 121, true, false},
{587, 111, true, false}, {587, 14, false, false}, {0, 126, true, false}, {880, 241, false, false},
{880, 127, true, false}, {830, 121, true, false}, {880, 120, false, false}, {830, 121, true, false},
{698, 125, true, false}, {0, 132, true, false}, {0, 121, true, false}, {0, 121, true, false},
{0, 128, true, false}, {880, 264, true, false}, {880, 114, true, false}, {830, 126, true, false},
{0, 125, true, false}, {830, 120, true, false}, {783, 121, false, false}, {0, 135, true, false},
{880, 120, false, false}, {698, 120, true, false}, {880, 14, true, false}, {880, 106, false, false},
{830, 125, false, false}, {587, 125, true, false}, {830, 121, false, false}, {783, 121, true, false},
{698, 119, false, false}, {0, 17, false, false}, {0, 264, true, false}, {587, 121, true, false},
{587, 111, true, false}, {587, 14, false, false}, {0, 126, true, false}, {880, 241, false, false},
{880, 127, true, false}, {830, 121, true, false}, {880, 120, false, false}, {830, 121, true, false},
{698, 125, true, false}, {0, 132, true, false}, {0, 121, true, false}, {0, 121, true, false},
{0, 128, true, false}, {880, 264, true, false}, {880, 114, true, false}, {830, 126, true, false},
{0, 125, true, false}, {830, 120, true, false}, {783, 121, false, false}, {0, 135, true, false},
{880, 120, false, false}, {698, 120, true, false}, {880, 14, true, false}, {880, 106, false, false},
{830, 125, false, false}, {587, 125, true, false}, {830, 121, false, false}, {783, 121, true, false},
{698, 126, false, false}, {554, 22, true, false}, {554, 373, false, false}, {659, 358, false, false},
{659, 14, false, false}, {932, 234, false, false}, {932, 14, false, false}, {880, 370, true, false},
{698, 357, false, false}, {698, 14, false, false}, {587, 232, false, false}, {587, 14, false, false},
{554, 388, true, false}, {659, 358, false, false}, {659, 14, false, false}, {932, 234, false, false},
{932, 14, false, false}, {880, 370, true, false}, {587, 118, false, false}, {0, 501, false, false},
{554, 388, true, false}, {659, 358, false, false}, {659, 14, false, false}, {932, 234, false, false},
{932, 14, false, false}, {880, 370, true, false}, {698, 357, false, false}, {698, 14, false, false},
{587, 232, false, false}, {587, 14, false, false}, {659, 388, true, false}, {783, 358, false, false},
{783, 14, false, false}, {932, 234, false, false}, {932, 14, false, false}, {880, 370, true, false},
{987, 357, false, false}, {987, 14, false, false}, {1108, 232, false, false}, {1108, 14, false, false},
{1174, 145, true, false}, {1174, 114, false, false}, {587, 128, true, false}, {587, 141, false, false},
{587, 111, false, false}, {587, 112, true, false}, {587, 241, true, false}, {587, 15, false, false},
{587, 495, true, false}, {587, 494, false, false}, {0, 266, true, true}, {0, 248, true, true},
{293, 15, false, true}, {293, 103, false, false}, {349, 376, false, false}, {261, 249, true, true},
{261, 246, true, true}, {329, 15, false, false}, {329, 103, false, false}, {391, 375, false, false},
{1174, 145, true, false}, {1174, 114, false, false}, {587, 128, true, false}, {587, 141, false, false},
{587, 111, false, false}, {587, 112, true, false}, {587, 241, true, false}, {587, 15, false, false},
{587, 495, true, false}, {587, 494, false, false}, {0, 266, true, true}, {0, 248, true, true},
{293, 15, false, true}, {293, 103, false, false}, {349, 376, false, false}, {261, 249, true, true},
{261, 246, true, false}, {0, 15, true, false}, {0, 103, false, false}, {0, 375, true, false},
{0, 2000, false, false}
};
// Converted from: seven.mid (Clean Melody & Bass-Routed Edition)
const SequenceStep midi_seven[] = {
{NOTE_E4, 750, true, false}, {NOTE_E4, 125, true, false}, {REST, 125, false, false}, {NOTE_G4, 125, true, false},
{NOTE_E4, 250, false, false}, {NOTE_D4, 125, true, false}, {NOTE_C4, 250, false, false}, {NOTE_B3, 250, true, false},
{NOTE_E4, 1000, true, false}, {NOTE_E4, 1000, true, false}, {NOTE_E4, 750, true, false}, {NOTE_E4, 125, true, false},
{REST, 125, false, false}, {NOTE_G4, 125, true, false}, {NOTE_E4, 250, false, false}, {NOTE_D4, 125, true, false},
{NOTE_C4, 250, false, false}, {NOTE_D4, 250, true, false}, {NOTE_C4, 1000, true, false}, {NOTE_B3, 1000, true, false},
{NOTE_E4, 500, true, true}, {NOTE_E4, 250, true, true}, {REST, 125, true, false}, {REST, 125, false, false},
{NOTE_G4, 125, true, true}, {NOTE_E4, 250, false, false}, {NOTE_D4, 125, true, false}, {NOTE_C4, 250, true, true},
{NOTE_B3, 250, true, false}, {NOTE_E4, 500, true, true}, {NOTE_E4, 500, true, true}, {NOTE_E4, 500, true, true},
{NOTE_E4, 500, true, true}, {NOTE_E4, 500, true, true}, {NOTE_E4, 250, true, true}, {NOTE_E4, 125, true, false},
{REST, 125, false, false}, {NOTE_G4, 125, true, true}, {NOTE_E4, 250, false, false}, {NOTE_D4, 125, true, false},
{NOTE_C4, 250, true, true}, {NOTE_B3, 250, true, false}, {NOTE_E4, 500, true, true}, {NOTE_E4, 500, true, true},
{NOTE_E4, 500, true, true}, {NOTE_E4, 500, true, true}, {NOTE_E4, 500, true, true}, {NOTE_E4, 250, true, true},
{NOTE_E4, 125, true, false}, {REST, 125, false, false}, {NOTE_G4, 125, true, true}, {NOTE_E4, 250, false, false},
{NOTE_D4, 125, true, false}, {NOTE_C4, 250, true, true}, {NOTE_B3, 250, true, false}, {NOTE_E4, 500, true, true},
{NOTE_E4, 500, true, true}, {NOTE_E4, 500, true, true}, {NOTE_E4, 500, true, true}, {NOTE_E4, 500, true, true},
{NOTE_E4, 250, true, true}, {NOTE_E4, 125, true, false}, {REST, 125, false, false}, {NOTE_G4, 125, true, true},
{NOTE_E4, 250, false, false}, {NOTE_D4, 125, true, false}, {NOTE_C4, 250, true, true}, {NOTE_B3, 250, true, false},
{NOTE_E4, 500, true, true}, {NOTE_E4, 500, true, true}, {NOTE_E4, 500, true, true}, {NOTE_E4, 500, true, true},
{NOTE_E4, 500, true, true}, {NOTE_E4, 250, true, true}, {NOTE_E4, 125, true, false}, {REST, 125, false, false},
{NOTE_G4, 125, true, true}, {NOTE_E4, 250, false, false}, {NOTE_D4, 125, true, false}, {NOTE_C4, 250, true, true},
{NOTE_B3, 250, true, false}, {NOTE_E4, 500, true, true}, {NOTE_E4, 500, true, true}, {NOTE_E4, 500, true, true},
{NOTE_E4, 500, true, true}, {NOTE_E4, 500, true, true}, {NOTE_E4, 250, true, true}, {NOTE_E4, 125, true, false},
{REST, 125, false, false}, {NOTE_G4, 125, true, true}, {NOTE_E4, 250, false, false}, {NOTE_D4, 125, true, false},
{NOTE_C4, 250, true, true}, {NOTE_B3, 250, true, false}, {NOTE_E4, 500, true, true}, {NOTE_E4, 500, true, true},
{NOTE_E4, 500, true, true}, {NOTE_E4, 500, true, true}, {NOTE_E4, 500, true, true}, {NOTE_E4, 250, true, true},
{NOTE_E4, 125, true, false}, {REST, 125, false, false}, {NOTE_G4, 125, true, true}, {NOTE_E4, 250, false, false},
{NOTE_D4, 125, true, false}, {NOTE_C4, 250, true, true}, {NOTE_B3, 250, true, false}, {NOTE_E4, 500, true, true},
{NOTE_E4, 500, true, true}, {NOTE_E4, 500, true, true}, {NOTE_E4, 500, true, true}, {NOTE_E4, 500, true, true},
{NOTE_E4, 250, true, true}, {NOTE_E4, 125, true, false}, {REST, 125, false, false}, {NOTE_G4, 125, true, true},
{NOTE_E4, 250, false, false}, {NOTE_D4, 125, true, false}, {NOTE_C4, 250, true, true}, {NOTE_B3, 250, true, false},
{NOTE_E4, 500, true, true}, {NOTE_E4, 500, true, true}, {NOTE_E4, 500, true, true}, {NOTE_E4, 500, true, true},
{NOTE_E4, 500, true, true}, {NOTE_E4, 250, true, true}, {NOTE_E4, 125, true, false}, {REST, 125, false, false},
{NOTE_G4, 125, true, true}, {NOTE_E4, 250, false, false}, {NOTE_D4, 125, true, false}, {NOTE_C4, 250, true, true},
{NOTE_B3, 250, true, false}, {NOTE_E4, 500, true, true}, {NOTE_E4, 500, true, true}, {NOTE_E4, 500, true, true},
{NOTE_E4, 500, true, true}, {NOTE_E4, 500, true, true}, {NOTE_E4, 250, true, true}, {NOTE_E4, 125, true, false},
{REST, 125, false, false}, {NOTE_G4, 125, true, true}, {NOTE_E4, 250, false, false}, {NOTE_D4, 125, true, false},
{NOTE_C4, 250, true, true}, {NOTE_B3, 250, true, false}, {NOTE_E4, 500, true, true}, {NOTE_E4, 500, true, true},
{NOTE_E4, 500, true, true}, {NOTE_E4, 500, true, true}, {NOTE_E4, 250, true, true}, {REST, 250, true, true},
{REST, 250, true, true}, {REST, 250, true, true}, {REST, 250, true, true}, {REST, 250, true, true},
{REST, 250, true, true}, {REST, 250, true, true}, {REST, 250, true, true}, {REST, 250, true, false},
{REST, 250, true, true}, {REST, 250, true, true}, {REST, 250, true, true}, {NOTE_CS4, 250, true, true},
{NOTE_E4, 250, true, true}, {NOTE_E4, 218, true, true}, {NOTE_E4, 30, true, true}, {NOTE_E4, 501, true, true},
{NOTE_E4, 250, true, true}, {NOTE_E4, 125, true, true}, {REST, 125, false, false}, {NOTE_G4, 125, true, true},
{NOTE_G4, 125, false, false}, {REST, 125, false, false}, {NOTE_E4, 125, true, true}, {NOTE_E4, 125, true, true},
{REST, 125, false, false}, {NOTE_D4, 250, true, true}, {NOTE_C4, 500, true, true}, {NOTE_C4, 500, true, true},
{REST, 500, true, true}, {REST, 468, true, true}, {REST, 30, true, true}, {NOTE_E4, 501, true, true},
{NOTE_E4, 250, true, true}, {NOTE_E4, 125, true, true}, {REST, 125, false, false}, {NOTE_G4, 125, true, true},
{NOTE_G4, 125, false, false}, {REST, 125, false, false}, {NOTE_E4, 125, true, true}, {NOTE_E4, 125, true, true},
{REST, 125, false, false}, {NOTE_D4, 250, true, true}, {NOTE_C4, 375, true, true}, {NOTE_D4, 125, true, true},
{NOTE_D4, 250, true, true}, {NOTE_C4, 250, true, true}, {REST, 500, true, true}, {REST, 468, true, true},
{REST, 30, true, true}, {NOTE_E4, 501, true, true}, {NOTE_E4, 250, true, true}, {NOTE_E4, 125, true, true},
{REST, 125, false, false}, {NOTE_G4, 125, true, true}, {NOTE_G4, 125, false, false}, {REST, 125, false, false},
{NOTE_E4, 125, true, true}, {NOTE_E4, 125, true, true}, {REST, 125, false, false}, {NOTE_D4, 250, true, true},
{NOTE_C4, 500, true, true}, {NOTE_C4, 500, true, true}, {REST, 500, true, true}, {REST, 468, true, true},
{REST, 30, true, true}, {NOTE_E4, 501, true, true}, {NOTE_E4, 250, true, true}, {NOTE_E4, 125, true, true},
{REST, 125, false, false}, {NOTE_G4, 125, true, true}, {NOTE_G4, 125, false, false}, {REST, 125, false, false},
{NOTE_E4, 125, true, true}, {NOTE_E4, 125, true, true}, {REST, 125, false, false}, {NOTE_D4, 250, true, true},
{NOTE_C4, 375, true, true}, {NOTE_D4, 125, true, true}, {NOTE_D4, 250, true, true}, {NOTE_C4, 250, true, true},
{REST, 500, true, true}, {REST, 500, true, true}, {REST, 250, true, true}, {REST, 250, true, true},
{REST, 250, true, true}, {REST, 250, true, true}, {REST, 250, true, true}, {REST, 250, true, true},
{REST, 250, true, true}, {REST, 250, true, true}, {REST, 250, true, true}, {REST, 250, true, false},
{REST, 250, true, true}, {REST, 250, true, true}, {REST, 250, true, true}, {NOTE_CS4, 250, true, true},
{NOTE_E4, 250, true, true}, {NOTE_E4, 250, true, true}, {REST, 750, true, true}, {REST, 125, true, false},
{REST, 125, false, false}, {REST, 125, true, false}, {REST, 250, false, false}, {REST, 125, true, false},
{REST, 250, false, false}, {REST, 250, true, false}, {REST, 1000, true, false}, {REST, 1000, true, false},
{REST, 750, true, false}, {REST, 125, true, false}, {REST, 125, false, false}, {REST, 125, true, false},
{REST, 250, false, false}, {REST, 125, true, false}, {REST, 250, false, false}, {REST, 250, true, false},
{REST, 1000, true, false}, {REST, 1000, true, false}, {REST, 500, true, true}, {REST, 250, true, true},
{REST, 125, true, false}, {REST, 125, false, false}, {REST, 125, true, true}, {REST, 250, false, false},
{REST, 125, true, false}, {REST, 250, true, true}, {REST, 250, true, false}, {REST, 500, true, true},
{REST, 500, true, true}, {REST, 500, true, true}, {REST, 500, true, true}, {REST, 500, true, true},
{REST, 250, true, true}, {REST, 125, true, false}, {REST, 125, false, false}, {REST, 125, true, true},
{REST, 250, false, false}, {REST, 125, true, false}, {REST, 250, true, true}, {REST, 250, true, false},
{REST, 500, true, true}, {REST, 500, true, true}, {REST, 500, true, true}, {REST, 500, true, true},
{REST, 500, true, true}, {REST, 250, true, true}, {REST, 125, true, false}, {REST, 125, false, false},
{REST, 125, true, true}, {REST, 250, false, false}, {REST, 125, true, false}, {REST, 250, true, true},
{REST, 250, true, false}, {REST, 500, true, true}, {REST, 500, true, true}, {REST, 500, true, true},
{REST, 500, true, true}, {REST, 500, true, true}, {REST, 250, true, true}, {REST, 125, true, false},
{REST, 125, false, false}, {REST, 125, true, true}, {REST, 250, false, false}, {REST, 125, true, false},
{REST, 250, true, true}, {REST, 250, true, false}, {REST, 500, true, true}, {REST, 500, true, true},
{REST, 500, true, true}, {REST, 500, true, true}, {REST, 500, true, true}, {REST, 250, true, true},
{REST, 125, true, false}, {REST, 125, false, false}, {REST, 125, true, true}, {REST, 250, false, false},
{REST, 125, true, false}, {REST, 250, true, true}, {REST, 250, true, false}, {REST, 500, true, true},
{REST, 500, true, true}, {REST, 500, true, true}, {REST, 500, true, true}, {REST, 500, true, true},
{REST, 250, true, true}, {REST, 125, true, false}, {REST, 125, false, false}, {REST, 125, true, true},
{REST, 250, false, false}, {REST, 125, true, false}, {REST, 250, true, true}, {REST, 250, true, false},
{REST, 500, true, true}, {REST, 500, true, true}, {REST, 500, true, true}, {REST, 500, true, true},
{REST, 500, true, true}, {REST, 250, true, true}, {REST, 125, true, false}, {REST, 125, false, false},
{REST, 125, true, true}, {REST, 250, false, false}, {REST, 125, true, false}, {REST, 250, true, true},
{REST, 250, true, false}, {REST, 500, true, true}, {REST, 500, true, true}, {REST, 500, true, true},
{REST, 500, true, true}, {REST, 500, true, true}, {REST, 250, true, true}, {REST, 125, true, false},
{REST, 125, false, false}, {REST, 125, true, true}, {REST, 250, false, false}, {REST, 125, true, false},
{REST, 250, true, true}, {REST, 250, true, false}, {REST, 500, true, true}, {REST, 500, true, true},
{REST, 500, true, true}, {REST, 500, true, true}, {REST, 250, true, true}, {REST, 250, true, true},
{REST, 250, true, true}, {REST, 250, true, true}, {REST, 250, true, true}, {REST, 250, true, true},
{REST, 250, true, true}, {REST, 250, true, true}, {REST, 250, true, true}, {REST, 250, true, false},
{REST, 250, true, true}, {REST, 250, true, true}, {REST, 250, true, true}, {NOTE_CS4, 250, true, true},
{NOTE_E4, 250, true, true}, {NOTE_E4, 250, true, true}, {REST, 750, true, true}, {REST, 125, true, false},
{REST, 125, false, false}, {REST, 125, true, false}, {REST, 250, false, false}, {REST, 125, true, false},
{REST, 250, false, false}, {REST, 250, true, false}, {REST, 1000, true, false}, {REST, 1000, true, false},
{REST, 750, true, false}, {REST, 125, true, false}, {REST, 125, false, false}, {REST, 125, true, false},
{REST, 250, false, false}, {REST, 125, true, false}, {REST, 250, false, false}, {REST, 250, true, false},
{REST, 1000, true, false}, {REST, 1000, true, false}, {REST, 500, true, true}, {REST, 250, true, true},
{REST, 125, true, false}, {REST, 125, false, false}, {REST, 125, true, true}, {REST, 250, false, false},
{REST, 125, true, false}, {REST, 250, true, true}, {REST, 250, true, false}, {REST, 500, true, true},
{REST, 500, true, true}, {REST, 500, true, true}, {REST, 500, true, true}, {REST, 500, true, true},
{REST, 250, true, true}, {REST, 125, true, false}, {REST, 125, false, false}, {REST, 125, true, true},
{REST, 250, false, false}, {REST, 125, true, false}, {REST, 250, true, true}, {REST, 250, true, false},
{REST, 500, true, true}, {REST, 500, true, true}, {REST, 500, true, true}, {REST, 500, true, true},
{REST, 500, true, true}, {REST, 250, true, true}, {REST, 125, true, false}, {REST, 125, false, false},
{REST, 125, true, true}, {REST, 250, false, false}, {REST, 125, true, false}, {REST, 250, true, true},
{REST, 250, true, false}, {REST, 500, true, true}, {REST, 500, true, true}, {REST, 500, true, true},
{REST, 500, true, true}, {REST, 500, true, true}, {REST, 250, true, true}, {REST, 125, true, false},
{REST, 125, false, false}, {REST, 125, true, true}, {REST, 250, false, false}, {REST, 125, true, false},
{REST, 250, true, true}, {REST, 250, true, false}, {REST, 500, true, true}, {REST, 500, true, true},
{REST, 500, true, true}, {REST, 500, true, true}, {REST, 500, true, true}, {REST, 250, true, true},
{REST, 125, true, false}, {REST, 125, false, false}, {REST, 125, true, true}, {REST, 250, false, false},
{REST, 125, true, false}, {REST, 250, true, true}, {REST, 250, true, false}, {REST, 500, true, true},
{REST, 500, true, true}, {REST, 500, true, true}, {REST, 500, true, true}, {REST, 500, true, true},
{REST, 250, true, true}, {REST, 125, true, false}, {REST, 125, false, false}, {REST, 125, true, true},
{REST, 250, false, false}, {REST, 125, true, false}, {REST, 250, true, true}, {REST, 250, true, false},
{REST, 500, true, true}, {REST, 500, true, true}, {REST, 500, true, true}, {REST, 500, true, true},
{REST, 250, true, true}, {REST, 250, true, true}, {REST, 250, true, true}, {REST, 250, true, true},
{REST, 250, true, true}, {REST, 250, true, true}, {REST, 250, true, true}, {REST, 250, true, true},
{REST, 250, true, true}, {REST, 250, true, false}, {REST, 250, true, true}, {REST, 250, true, true},
{REST, 250, true, true}, {NOTE_CS4, 250, true, true}, {NOTE_E4, 250, true, true}, {NOTE_E4, 250, true, true},
{REST, 750, true, true}, {REST, 125, true, false}, {REST, 125, false, false}, {REST, 125, true, false},
{REST, 250, false, false}, {REST, 125, true, false}, {REST, 250, false, false}, {REST, 250, true, false},
{REST, 1000, true, false}, {REST, 1000, true, false}, {REST, 500, true, true}, {REST, 250, true, true},
{REST, 125, true, false}, {REST, 125, false, false}, {REST, 125, true, true}, {REST, 250, false, false},
{REST, 125, true, false}, {REST, 250, true, true}, {REST, 250, true, false}, {REST, 500, true, true},
{REST, 500, true, true}, {REST, 500, true, true}, {REST, 500, true, true}, {REST, 500, true, true},
{REST, 250, true, true}, {REST, 125, true, false}, {REST, 125, false, false}, {REST, 125, true, true},
{REST, 250, false, false}, {REST, 125, true, false}, {REST, 250, true, true}, {REST, 250, true, false},
{REST, 500, true, true}, {REST, 500, true, true}, {REST, 500, true, true}, {REST, 500, true, true},
{REST, 500, true, true}, {REST, 250, true, true}, {REST, 125, true, false}, {REST, 125, false, false},
{REST, 125, true, true}, {REST, 250, false, false}, {REST, 125, true, false}, {REST, 250, true, true},
{REST, 250, true, false}, {REST, 500, true, true}, {REST, 500, true, true}, {REST, 500, true, true},
{REST, 500, true, true}, {REST, 500, true, true}, {REST, 250, true, true}, {REST, 125, true, false},
{REST, 125, false, false}, {REST, 125, true, true}, {REST, 250, false, false}, {REST, 125, true, false},
{REST, 250, true, true}, {REST, 250, true, false}, {REST, 500, true, true}, {REST, 500, true, true},
{REST, 500, true, true}, {REST, 500, true, true}, {REST, 500, true, true}, {REST, 250, true, true},
{REST, 125, true, false}, {REST, 125, false, false}, {REST, 125, true, true}, {REST, 250, false, false},
{REST, 125, true, false}, {REST, 250, true, true}, {REST, 250, true, false}, {REST, 500, true, true},
{REST, 500, true, true}, {REST, 500, true, true}, {REST, 500, true, true}, {REST, 500, true, true},
{REST, 250, true, true}, {REST, 125, true, false}, {REST, 125, false, false}, {REST, 125, true, true},
{REST, 250, false, false}, {REST, 125, true, false}, {REST, 250, true, true}, {REST, 250, true, false},
{REST, 500, true, true}, {REST, 500, true, true}, {REST, 500, true, true}, {REST, 500, true, true},
{REST, 250, true, true}, {REST, 250, true, true}, {REST, 250, true, true}, {REST, 250, true, true},
{REST, 250, true, true}, {REST, 250, true, true}, {REST, 250, true, true}, {REST, 250, true, true},
{REST, 250, true, true}, {REST, 250, true, false}, {REST, 250, true, true}, {REST, 250, true, true},
{REST, 250, true, true}, {NOTE_E4, 2000, true, true},
{REST, 2000, false, false}
};
// Converted from: mega.mid (Clean Melody & Bass-Routed Edition)
const SequenceStep midi_mega[] = {
{659, 125, true, true}, {587, 125, false, false}, {659, 125, false, false}, {698, 125, false, false},
{440, 125, false, false}, {587, 125, false, false}, {659, 125, false, false}, {698, 125, false, false},
{659, 125, true, false}, {587, 125, false, false}, {659, 125, false, false}, {698, 125, false, false},
{440, 125, false, false}, {587, 125, false, false}, {659, 125, false, false}, {698, 125, false, false},
{659, 125, true, false}, {587, 125, false, false}, {659, 125, false, false}, {698, 125, false, false},
{440, 125, false, false}, {587, 125, false, false}, {659, 125, false, false}, {698, 125, false, false},
{659, 125, true, false}, {587, 125, false, false}, {659, 125, false, false}, {698, 125, false, false},
{440, 125, false, false}, {587, 125, false, false}, {659, 125, false, false}, {698, 125, false, false},
{659, 125, true, true}, {587, 125, false, false}, {659, 125, false, false}, {698, 125, false, false},
{440, 125, false, false}, {587, 125, false, false}, {659, 125, false, false}, {698, 125, false, false},
{659, 125, true, false}, {587, 125, false, false}, {659, 125, false, false}, {698, 125, false, false},
{440, 125, false, false}, {587, 125, false, false}, {659, 125, false, false}, {698, 125, false, false},
{659, 125, true, false}, {587, 125, false, false}, {659, 125, false, false}, {698, 125, false, false},
{440, 125, false, false}, {587, 125, false, false}, {659, 125, false, false}, {698, 125, false, false},
{659, 125, true, false}, {587, 125, false, false}, {659, 125, false, false}, {698, 125, false, false},
{440, 125, false, false}, {587, 125, false, false}, {659, 125, false, false}, {698, 125, false, false},
{880, 125, true, true}, {783, 125, false, false}, {880, 125, false, false}, {932, 125, false, false},
{587, 125, false, false}, {783, 125, false, false}, {880, 125, false, false}, {932, 125, false, false},
{880, 125, true, true}, {783, 125, false, false}, {880, 125, false, false}, {932, 125, false, false},
{587, 125, false, false}, {783, 125, false, false}, {880, 125, false, false}, {932, 125, false, false},
{880, 125, true, true}, {783, 125, false, false}, {880, 125, false, false}, {932, 125, false, false},
{587, 125, false, false}, {783, 125, false, false}, {880, 125, false, false}, {932, 125, false, false},
{880, 125, true, true}, {783, 125, false, false}, {880, 125, false, false}, {932, 125, false, false},
{587, 125, false, false}, {783, 125, false, false}, {880, 125, false, false}, {932, 125, false, false},
{880, 125, true, true}, {783, 125, false, false}, {880, 125, false, false}, {932, 125, false, false},
{587, 125, false, false}, {783, 125, false, false}, {880, 125, false, false}, {932, 125, false, false},
{880, 125, true, true}, {783, 125, false, false}, {880, 125, false, false}, {932, 125, false, false},
{587, 125, false, false}, {783, 125, false, false}, {880, 125, false, false}, {932, 125, false, false},
{880, 125, true, true}, {783, 125, false, false}, {880, 125, false, false}, {932, 125, false, false},
{587, 125, false, false}, {783, 125, false, false}, {880, 125, false, false}, {932, 125, false, false},
{880, 125, true, true}, {783, 125, false, false}, {880, 125, false, false}, {932, 125, false, false},
{587, 125, false, false}, {783, 125, false, false}, {880, 125, false, false}, {932, 125, false, false},
{0, 2000, false, false}
};
// TRACK 1: Careless Whisper (Extended Club Edit)
const SequenceStep careless_song[] = {
// Phrase 1: Smooth Intro
{NOTE_D5, 600, false, false}, {NOTE_C5, 300, false, false}, {NOTE_AS4, 300, false, false}, {NOTE_A4, 1200, false, true}, {REST, 200, false, false},
{NOTE_F4, 300, false, false}, {NOTE_A4, 300, false, false}, {NOTE_D5, 600, false, false}, {NOTE_C5, 300, false, false}, {NOTE_AS4, 300, false, false}, {NOTE_A4, 1200, false, true}, {REST, 200, false, false},
{NOTE_F4, 300, false, false}, {NOTE_A4, 300, false, false}, {NOTE_D5, 600, false, false}, {NOTE_C5, 300, false, false}, {NOTE_AS4, 300, false, false}, {NOTE_A4, 1200, false, false}, {REST, 200, false, false},
{NOTE_E4, 300, false, false}, {NOTE_G4, 300, false, false}, {NOTE_C5, 600, false, false}, {NOTE_AS4, 300, false, false}, {NOTE_A4, 300, false, false}, {NOTE_G4, 1200, false, true}, {REST, 600, false, false},
{NOTE_D4, 200, false, false}, {NOTE_F4, 200, false, false}, {NOTE_A4, 200, false, false}, {NOTE_D5, 400, false, false}, {NOTE_C5, 200, false, false}, {NOTE_A4, 200, false, false}, {NOTE_F4, 200, false, false}, {NOTE_D4, 400, false, false},
{REST, 500, false, false},
// Phrase 2: The Beat Drop (Heavy Kick + Hat)
{NOTE_D5, 600, true, false}, {NOTE_C5, 300, false, true}, {NOTE_AS4, 300, true, false}, {NOTE_A4, 1200, true, true}, {REST, 200, false, false},
{NOTE_F4, 300, true, false}, {NOTE_A4, 300, false, true}, {NOTE_D5, 600, true, false}, {NOTE_C5, 300, false, true}, {NOTE_AS4, 300, true, false}, {NOTE_A4, 1200, true, true}, {REST, 200, false, false},
{NOTE_F4, 300, false, true}, {NOTE_A4, 300, true, false}, {NOTE_D5, 600, false, true}, {NOTE_C5, 300, true, false}, {NOTE_AS4, 300, false, true}, {NOTE_A4, 1200, true, false}, {REST, 200, false, false},
{NOTE_E4, 300, false, true}, {NOTE_G4, 300, true, false}, {NOTE_C5, 600, false, true}, {NOTE_AS4, 300, true, false}, {NOTE_A4, 300, false, true}, {NOTE_G4, 1200, true, true}, {REST, 600, false, false},
{NOTE_D4, 200, true, true}, {NOTE_F4, 200, false, false}, {NOTE_A4, 200, false, true}, {NOTE_D5, 400, true, false}, {NOTE_C5, 200, false, true}, {NOTE_A4, 200, true, false}, {NOTE_F4, 200, false, true}, {NOTE_D4, 400, true, true},
{REST, 1000, false, false}
};
// TRACK 2: Take On Me (Extended Build-Up)
const SequenceStep takeonme_song[] = {
// Loop 1: Bass and Hat only
{NOTE_FS5, 200, false, true}, {NOTE_FS5, 200, false, false}, {NOTE_E5, 200, false, true}, {NOTE_D5, 200, false, false},
{NOTE_CS5, 200, false, false}, {NOTE_CS5, 200, false, true}, {NOTE_CS5, 200, false, false}, {NOTE_A4, 200, false, true},
{NOTE_B4, 200, false, false}, {NOTE_CS5, 200, false, true}, {NOTE_CS5, 200, false, false}, {NOTE_D5, 200, false, true},
{NOTE_E5, 200, false, true}, {NOTE_E5, 200, false, false}, {NOTE_E5, 200, false, true}, {NOTE_GS5, 200, false, false},
{NOTE_GS5, 200, false, true}, {NOTE_A5, 200, false, false}, {NOTE_B5, 200, false, true}, {REST, 400, false, false},
// Loop 2: Add the Kick Drum
{NOTE_FS5, 200, true, true}, {NOTE_FS5, 200, false, false}, {NOTE_E5, 200, false, true}, {NOTE_D5, 200, true, false},
{NOTE_CS5, 200, true, false}, {NOTE_CS5, 200, false, true}, {NOTE_CS5, 200, false, false}, {NOTE_A4, 200, true, true},
{NOTE_B4, 200, true, false}, {NOTE_CS5, 200, false, true}, {NOTE_CS5, 200, true, false}, {NOTE_D5, 200, false, true},
{NOTE_E5, 200, true, true}, {NOTE_E5, 200, false, false}, {NOTE_E5, 200, false, true}, {NOTE_GS5, 200, true, false},
{NOTE_GS5, 200, false, true}, {NOTE_A5, 200, false, false}, {NOTE_B5, 200, true, true}, {REST, 400, false, false},
// Loop 3: Full Rave
{NOTE_FS5, 200, true, true}, {NOTE_FS5, 200, false, true}, {NOTE_E5, 200, true, true}, {NOTE_D5, 200, false, true},
{NOTE_CS5, 200, true, true}, {NOTE_CS5, 200, false, true}, {NOTE_CS5, 200, true, true}, {NOTE_A4, 200, false, true},
{NOTE_B4, 200, true, true}, {NOTE_CS5, 200, false, true}, {NOTE_CS5, 200, true, true}, {NOTE_D5, 200, false, true},
{NOTE_E5, 200, true, true}, {NOTE_E5, 200, false, true}, {NOTE_E5, 200, true, true}, {NOTE_GS5, 200, false, true},
{NOTE_GS5, 200, true, true}, {NOTE_A5, 200, false, true}, {NOTE_B5, 200, true, true}, {REST, 1000, false, false}
};
// TRACK 3: Rickroll (Extended Double Chorus)
const SequenceStep rickroll_song[] = {
// Chorus 1
{NOTE_CS5, 300, true, false}, {NOTE_D5, 300, false, true}, {NOTE_CS5, 300, true, false}, {NOTE_B4, 300, false, true}, {NOTE_FS4, 600, true, true}, {REST, 600, false, false},
{NOTE_A4, 150, true, false}, {NOTE_B4, 150, false, true}, {NOTE_D5, 150, false, false}, {NOTE_B4, 150, false, true}, {NOTE_FS5, 300, true, false}, {NOTE_FS5, 300, false, true}, {NOTE_E5, 600, true, false},
{NOTE_A4, 150, false, true}, {NOTE_B4, 150, true, false}, {NOTE_D5, 150, false, true}, {NOTE_B4, 150, false, false}, {NOTE_E5, 300, true, true}, {NOTE_E5, 300, false, false}, {NOTE_D5, 300, true, false}, {NOTE_CS5, 150, false, true}, {NOTE_B4, 150, false, false},
{NOTE_A4, 150, true, true}, {NOTE_B4, 150, false, false}, {NOTE_D5, 150, false, true}, {NOTE_B4, 150, false, false}, {NOTE_D5, 300, true, false}, {NOTE_E5, 300, false, true}, {NOTE_CS5, 300, true, false}, {NOTE_A4, 300, false, true}, {NOTE_A4, 300, true, false}, {NOTE_E5, 300, false, true}, {NOTE_D5, 900, true, true},
{REST, 600, false, false},
// Chorus 2 (Faster Hat)
{NOTE_CS5, 300, true, true}, {NOTE_D5, 300, false, true}, {NOTE_CS5, 300, true, true}, {NOTE_B4, 300, false, true}, {NOTE_FS4, 600, true, true}, {REST, 600, false, false},
{NOTE_A4, 150, true, true}, {NOTE_B4, 150, false, true}, {NOTE_D5, 150, false, true}, {NOTE_B4, 150, false, true}, {NOTE_FS5, 300, true, true}, {NOTE_FS5, 300, false, true}, {NOTE_E5, 600, true, true},
{NOTE_A4, 150, false, true}, {NOTE_B4, 150, true, true}, {NOTE_D5, 150, false, true}, {NOTE_B4, 150, false, true}, {NOTE_E5, 300, true, true}, {NOTE_E5, 300, false, true}, {NOTE_D5, 300, true, true}, {NOTE_CS5, 150, false, true}, {NOTE_B4, 150, false, true},
{NOTE_A4, 150, true, true}, {NOTE_B4, 150, false, true}, {NOTE_D5, 150, false, true}, {NOTE_B4, 150, false, true}, {NOTE_D5, 300, true, true}, {NOTE_E5, 300, false, true}, {NOTE_CS5, 300, true, true}, {NOTE_A4, 300, false, true}, {NOTE_A4, 300, true, true}, {NOTE_E5, 300, false, true}, {NOTE_D5, 900, true, true},
{REST, 1000, false, false}
};
// TRACK 4: Can't Help Falling In Love (Extended Wedding Mix)
const SequenceStep elvis_song[] = {
// Verse 1
{NOTE_C4, 400, true, false}, {NOTE_G4, 400, false, true}, {NOTE_C5, 800, true, false}, {NOTE_G4, 400, false, true}, {NOTE_E4, 400, true, false},
{NOTE_A4, 400, true, true}, {NOTE_B4, 400, false, false}, {NOTE_C5, 400, true, false}, {NOTE_D5, 400, false, true}, {NOTE_E5, 400, true, false}, {NOTE_F5, 400, false, true}, {NOTE_E5, 800, true, true}, {NOTE_D5, 800, false, true},
{NOTE_G4, 400, true, false}, {NOTE_A4, 400, false, true}, {NOTE_B4, 400, true, false}, {NOTE_C5, 800, true, true}, {NOTE_D5, 400, false, true},
{NOTE_E5, 400, true, false}, {NOTE_F5, 400, false, true}, {NOTE_G5, 400, true, false}, {NOTE_F5, 400, true, true}, {NOTE_E5, 400, false, true}, {NOTE_D5, 400, true, false}, {NOTE_C5, 1200, true, true},
{REST, 800, false, false},
// Verse 2 (Double Drums)
{NOTE_C4, 400, true, true}, {NOTE_G4, 400, false, true}, {NOTE_C5, 800, true, true}, {NOTE_G4, 400, false, true}, {NOTE_E4, 400, true, true},
{NOTE_A4, 400, true, true}, {NOTE_B4, 400, false, true}, {NOTE_C5, 400, true, true}, {NOTE_D5, 400, false, true}, {NOTE_E5, 400, true, true}, {NOTE_F5, 400, false, true}, {NOTE_E5, 800, true, true}, {NOTE_D5, 800, false, true},
{NOTE_G4, 400, true, true}, {NOTE_A4, 400, false, true}, {NOTE_B4, 400, true, true}, {NOTE_C5, 800, true, true}, {NOTE_D5, 400, false, true},
{NOTE_E5, 400, true, true}, {NOTE_F5, 400, false, true}, {NOTE_G5, 400, true, true}, {NOTE_F5, 400, true, true}, {NOTE_E5, 400, false, true}, {NOTE_D5, 400, true, true}, {NOTE_C5, 1200, true, true},
{REST, 1500, false, false}
};
// TRACK 5: Gimme! Gimme! Gimme! (Extended Midnight Rave)
const SequenceStep abba_song[] = {
// Loop 1
{NOTE_D5, 200, true, true}, {NOTE_E5, 200, false, false}, {NOTE_F5, 400, true, false}, {NOTE_A5, 200, false, true}, {NOTE_G5, 400, true, true}, {NOTE_F5, 200, false, false}, {NOTE_E5, 200, true, false}, {NOTE_F5, 200, false, true}, {NOTE_D5, 600, true, true}, {REST, 200, false, false},
{NOTE_D5, 200, true, true}, {NOTE_E5, 200, false, false}, {NOTE_F5, 400, true, false}, {NOTE_A5, 200, false, true}, {NOTE_G5, 400, true, true}, {NOTE_F5, 200, false, false}, {NOTE_E5, 200, true, false}, {NOTE_D5, 200, false, true}, {NOTE_CS5, 600, true, true}, {REST, 400, false, false},
{NOTE_D4, 200, true, true}, {REST, 100, false, false}, {NOTE_D4, 200, false, true}, {NOTE_F4, 200, true, false}, {NOTE_A4, 200, false, true}, {NOTE_G4, 200, true, true}, {REST, 100, false, false}, {NOTE_E4, 200, false, true}, {NOTE_C4, 200, true, false}, {NOTE_D4, 400, true, true},
{REST, 400, false, false},
// Loop 2 (More High Hats)
{NOTE_D5, 200, true, true}, {NOTE_E5, 200, false, true}, {NOTE_F5, 400, true, true}, {NOTE_A5, 200, false, true}, {NOTE_G5, 400, true, true}, {NOTE_F5, 200, false, true}, {NOTE_E5, 200, true, true}, {NOTE_F5, 200, false, true}, {NOTE_D5, 600, true, true}, {REST, 200, false, false},
{NOTE_D5, 200, true, true}, {NOTE_E5, 200, false, true}, {NOTE_F5, 400, true, true}, {NOTE_A5, 200, false, true}, {NOTE_G5, 400, true, true}, {NOTE_F5, 200, false, true}, {NOTE_E5, 200, true, true}, {NOTE_D5, 200, false, true}, {NOTE_CS5, 600, true, true}, {REST, 400, false, false},
{NOTE_D4, 200, true, true}, {REST, 100, false, true}, {NOTE_D4, 200, false, true}, {NOTE_F4, 200, true, true}, {NOTE_A4, 200, false, true}, {NOTE_G4, 200, true, true}, {REST, 100, false, true}, {NOTE_E4, 200, false, true}, {NOTE_C4, 200, true, true}, {NOTE_D4, 400, true, true},
{REST, 1000, false, false}
};
// TRACK 7: Für Elise (Beethoven Extended Trance)
const SequenceStep elise_song[] = {
// Loop 1
{NOTE_E5, 200, true, false}, {NOTE_DS5, 200, false, true}, {NOTE_E5, 200, false, false}, {NOTE_DS5, 200, false, true}, {NOTE_E5, 200, true, false},
{NOTE_B4, 200, false, true}, {NOTE_D5, 200, false, false}, {NOTE_C5, 200, false, true}, {NOTE_A4, 600, true, true}, {REST, 200, false, false},
{NOTE_C4, 200, false, true}, {NOTE_E4, 200, false, false}, {NOTE_A4, 200, false, true}, {NOTE_B4, 600, true, true}, {REST, 200, false, false},
{NOTE_E4, 200, false, true}, {NOTE_GS4, 200, false, false}, {NOTE_B4, 200, false, true}, {NOTE_C5, 600, true, true}, {REST, 200, false, false},
// Loop 2
{NOTE_E5, 200, true, false}, {NOTE_DS5, 200, false, true}, {NOTE_E5, 200, false, false}, {NOTE_DS5, 200, false, true}, {NOTE_E5, 200, true, false},
{NOTE_B4, 200, false, true}, {NOTE_D5, 200, false, false}, {NOTE_C5, 200, false, true}, {NOTE_A4, 600, true, true}, {REST, 200, false, false},
{NOTE_C4, 200, false, true}, {NOTE_E4, 200, false, false}, {NOTE_A4, 200, false, true}, {NOTE_B4, 600, true, true}, {REST, 200, false, false},
{NOTE_E4, 200, false, true}, {NOTE_C5, 200, false, false}, {NOTE_B4, 200, false, true}, {NOTE_A4, 800, true, true}, {REST, 200, false, false},
// Loop 3 (Heavy Beat Drop)
{NOTE_E5, 200, true, true}, {NOTE_DS5, 200, false, true}, {NOTE_E5, 200, true, true}, {NOTE_DS5, 200, false, true}, {NOTE_E5, 200, true, true},
{NOTE_B4, 200, false, true}, {NOTE_D5, 200, true, true}, {NOTE_C5, 200, false, true}, {NOTE_A4, 600, true, true}, {REST, 200, false, false},
{NOTE_C4, 200, true, true}, {NOTE_E4, 200, false, true}, {NOTE_A4, 200, true, true}, {NOTE_B4, 600, true, true}, {REST, 200, false, false},
{NOTE_E4, 200, true, true}, {NOTE_C5, 200, false, true}, {NOTE_B4, 200, true, true}, {NOTE_A4, 800, true, true},
{REST, 1000, false, false}
};
// TRACK 8: Symphony No. 40 (Mozart Extended)
const SequenceStep mozart_song[] = {
// Loop 1
{NOTE_DS5, 150, false, true}, {NOTE_D5, 150, false, false}, {NOTE_D5, 300, true, false},
{NOTE_DS5, 150, false, true}, {NOTE_D5, 150, false, false}, {NOTE_D5, 300, true, false},
{NOTE_DS5, 150, false, true}, {NOTE_D5, 150, false, false}, {NOTE_D5, 300, true, false},
{NOTE_AS5, 600, true, true}, {REST, 300, false, false},
{NOTE_D5, 150, false, true}, {NOTE_CS5, 150, false, false}, {NOTE_CS5, 300, true, false},
{NOTE_D5, 150, false, true}, {NOTE_CS5, 150, false, false}, {NOTE_CS5, 300, true, false},
{NOTE_D5, 150, false, true}, {NOTE_CS5, 150, false, false}, {NOTE_CS5, 300, true, false},
{NOTE_A5, 600, true, true}, {REST, 300, false, false},
{NOTE_CS5, 150, false, true}, {NOTE_C5, 150, false, false}, {NOTE_C5, 300, true, false},
{NOTE_CS5, 150, false, true}, {NOTE_C5, 150, false, false}, {NOTE_C5, 300, true, false},
{NOTE_CS5, 150, false, true}, {NOTE_C5, 150, false, false}, {NOTE_C5, 300, true, false},
{NOTE_GS5, 600, true, true}, {REST, 300, false, false},
// Loop 2 (Intense Drums)
{NOTE_DS5, 150, true, true}, {NOTE_D5, 150, false, true}, {NOTE_D5, 300, true, true},
{NOTE_DS5, 150, true, true}, {NOTE_D5, 150, false, true}, {NOTE_D5, 300, true, true},
{NOTE_DS5, 150, true, true}, {NOTE_D5, 150, false, true}, {NOTE_D5, 300, true, true},
{NOTE_AS5, 600, true, true}, {REST, 300, false, false},
{NOTE_D5, 150, true, true}, {NOTE_CS5, 150, false, true}, {NOTE_CS5, 300, true, true},
{NOTE_D5, 150, true, true}, {NOTE_CS5, 150, false, true}, {NOTE_CS5, 300, true, true},
{NOTE_D5, 150, true, true}, {NOTE_CS5, 150, false, true}, {NOTE_CS5, 300, true, true},
{NOTE_A5, 600, true, true}, {REST, 300, false, false},
{NOTE_CS5, 150, true, true}, {NOTE_C5, 150, false, true}, {NOTE_C5, 300, true, true},
{NOTE_CS5, 150, true, true}, {NOTE_C5, 150, false, true}, {NOTE_C5, 300, true, true},
{NOTE_CS5, 150, true, true}, {NOTE_C5, 150, false, true}, {NOTE_C5, 300, true, true},
{NOTE_GS5, 600, true, true},
{REST, 1000, false, false}
};
// ==========================================
// 5. HARDWARE INITIALIZATION
// ==========================================
void init_hardware(void) {
gpio_set_direction(ACTIVE_BUZZER_1_PIN, GPIO_MODE_OUTPUT); gpio_set_level(ACTIVE_BUZZER_1_PIN, 0);
gpio_set_direction(ACTIVE_BUZZER_2_PIN, GPIO_MODE_OUTPUT); gpio_set_level(ACTIVE_BUZZER_2_PIN, 0);
gpio_set_direction(LED_KICK_PIN, GPIO_MODE_OUTPUT); gpio_set_level(LED_KICK_PIN, 0);
gpio_set_direction(LED_HAT_PIN, GPIO_MODE_OUTPUT); gpio_set_level(LED_HAT_PIN, 0);
gpio_reset_pin(BTN_PAUSE_PIN); gpio_reset_pin(BTN_NEXT_PIN); gpio_reset_pin(ROTARY_SW_PIN);
gpio_set_direction(BTN_PAUSE_PIN, GPIO_MODE_INPUT); gpio_set_pull_mode(BTN_PAUSE_PIN, GPIO_PULLUP_ONLY);
gpio_set_direction(BTN_NEXT_PIN, GPIO_MODE_INPUT); gpio_set_pull_mode(BTN_NEXT_PIN, GPIO_PULLUP_ONLY);
gpio_set_direction(ROTARY_SW_PIN, GPIO_MODE_INPUT); gpio_set_pull_mode(ROTARY_SW_PIN, GPIO_PULLUP_ONLY);
ledc_timer_config_t timer_cfg = { .speed_mode = BUZZER_LEDC_MODE, .timer_num = BUZZER_LEDC_TIMER, .duty_resolution = LEDC_TIMER_13_BIT, .freq_hz = 440, .clk_cfg = LEDC_AUTO_CLK };
ledc_timer_config(&timer_cfg);
ledc_channel_config_t ch_cfg = { .speed_mode = BUZZER_LEDC_MODE, .channel = BUZZER_LEDC_CHANNEL, .timer_sel = BUZZER_LEDC_TIMER, .intr_type = LEDC_INTR_DISABLE, .gpio_num = PASSIVE_BUZZER_PIN, .duty = 0, .hpoint = 0 };
ledc_channel_config(&ch_cfg);
pcnt_unit_config_t unit_config = { .high_limit = 1000, .low_limit = -1000 };
pcnt_new_unit(&unit_config, &pcnt_unit);
pcnt_glitch_filter_config_t filter_config = { .max_glitch_ns = 1000 };
pcnt_unit_set_glitch_filter(pcnt_unit, &filter_config);
pcnt_chan_config_t chan_a_config = { .edge_gpio_num = ROTARY_CLK_PIN, .level_gpio_num = ROTARY_DT_PIN };
pcnt_channel_handle_t pcnt_chan_a = NULL; pcnt_new_channel(pcnt_unit, &chan_a_config, &pcnt_chan_a);
pcnt_chan_config_t chan_b_config = { .edge_gpio_num = ROTARY_DT_PIN, .level_gpio_num = ROTARY_CLK_PIN };
pcnt_channel_handle_t pcnt_chan_b = NULL; pcnt_new_channel(pcnt_unit, &chan_b_config, &pcnt_chan_b);
pcnt_channel_set_edge_action(pcnt_chan_a, PCNT_CHANNEL_EDGE_ACTION_DECREASE, PCNT_CHANNEL_EDGE_ACTION_INCREASE);
pcnt_channel_set_level_action(pcnt_chan_a, PCNT_CHANNEL_LEVEL_ACTION_KEEP, PCNT_CHANNEL_LEVEL_ACTION_INVERSE);
pcnt_channel_set_edge_action(pcnt_chan_b, PCNT_CHANNEL_EDGE_ACTION_INCREASE, PCNT_CHANNEL_EDGE_ACTION_DECREASE);
pcnt_channel_set_level_action(pcnt_chan_b, PCNT_CHANNEL_LEVEL_ACTION_KEEP, PCNT_CHANNEL_LEVEL_ACTION_INVERSE);
pcnt_unit_enable(pcnt_unit); pcnt_unit_clear_count(pcnt_unit); pcnt_unit_start(pcnt_unit);
gpio_set_direction(OLED_DC_PIN, GPIO_MODE_OUTPUT); gpio_set_direction(OLED_RES_PIN, GPIO_MODE_OUTPUT);
spi_bus_config_t buscfg = { .miso_io_num = -1, .mosi_io_num = OLED_MOSI_PIN, .sclk_io_num = OLED_CLK_PIN, .quadwp_io_num = -1, .quadhd_io_num = -1, .max_transfer_sz = 1024 };
spi_device_interface_config_t devcfg = { .clock_speed_hz = 10 * 1000 * 1000, .mode = 0, .spics_io_num = OLED_CS_PIN, .queue_size = 7 };
spi_bus_initialize(SPI2_HOST, &buscfg, SPI_DMA_CH_AUTO); spi_bus_add_device(SPI2_HOST, &devcfg, &spi);
gpio_set_level(OLED_RES_PIN, 0); vTaskDelay(pdMS_TO_TICKS(10)); gpio_set_level(OLED_RES_PIN, 1); vTaskDelay(pdMS_TO_TICKS(50));
const uint8_t init_cmds[] = { 0xAE, 0xD5, 0x80, 0xA8, 0x3F, 0xD3, 0x00, 0x40, 0x8D, 0x14, 0x20, 0x02, 0xA1, 0xC8, 0xDA, 0x12, 0x81, 0xCF, 0xD9, 0xF1, 0xDB, 0x40, 0xA4, 0xA6, 0xAF };
for(int i=0; i<sizeof(init_cmds); i++) oled_send_cmd(init_cmds[i]);
for(int page = 0; page < 8; page++) { oled_send_cmd(0xB0 + page); oled_send_cmd(0x00); oled_send_cmd(0x10); uint8_t zero_buf[132]; memset(zero_buf, 0, 132); oled_send_data(zero_buf, 132); }
}
// ==========================================
// 6. CORE 0: BUTTON TASK
// ==========================================
void button_task(void *pvParameters) {
bool pause_last = true;
bool next_last = true;
bool sw_last = true;
while(1) {
bool pause_btn = gpio_get_level(BTN_PAUSE_PIN);
bool next_btn = gpio_get_level(BTN_NEXT_PIN);
bool sw_btn = gpio_get_level(ROTARY_SW_PIN);
if(pause_btn == 0 && pause_last == 1) {
is_paused = !is_paused;
}
if(next_btn == 0 && next_last == 1) {
current_song_idx++;
if (current_song_idx > 15) current_song_idx = 0; // 16 Total Songs
trigger_song_change = true;
is_paused = false;
}
// Toggle Knob Mode (Volume vs Speed)
if(sw_btn == 0 && sw_last == 1) {
encoder_mode_volume = !encoder_mode_volume;
}
pause_last = pause_btn;
next_last = next_btn;
sw_last = sw_btn;
vTaskDelay(pdMS_TO_TICKS(50));
}
}
// ==========================================
// 7. CORE 0: OLED GRAPHICS ENGINE
// ==========================================
void oled_visualizer_task(void *pvParameters) {
char ui_buf[16];
while(1) {
memset(oled_buffer, 0, 1024);
if (current_song_idx == 0) draw_string(2, 2, "WHISP");
else if (current_song_idx == 1) draw_string(2, 2, "TAKE ");
else if (current_song_idx == 2) draw_string(2, 2, "RICK ");
else if (current_song_idx == 3) draw_string(2, 2, "ELVIS");
else if (current_song_idx == 4) draw_string(2, 2, "GIMME");
else if (current_song_idx == 5) draw_string(2, 2, "ELISE");
else if (current_song_idx == 6) draw_string(2, 2, "MOZRT");
else if (current_song_idx == 7) draw_string(2, 2, "MARIO");
else if (current_song_idx == 8) draw_string(2, 2, "PIRT1");
else if (current_song_idx == 9) draw_string(2, 2, "PIRT2");
else if (current_song_idx == 10) draw_string(2, 2, "ALLA ");
else if (current_song_idx == 11) draw_string(2, 2, "TETRS");
else if (current_song_idx == 12) draw_string(2, 2, "SONIC");
else if (current_song_idx == 13) draw_string(2, 2, "CAST ");
else if (current_song_idx == 14) draw_string(2, 2, "SEVEN");
else if (current_song_idx == 15) draw_string(2, 2, "MEGA ");
if (is_paused) draw_string(40, 2, "PAUSE");
// Dynamic UI for Rotary Mode
if (encoder_mode_volume) {
sprintf(ui_buf, "VOL %d%%", (int)(current_volume * 100));
} else {
sprintf(ui_buf, "SPD %.1fx", current_speed);
}
draw_string(80, 2, ui_buf);
draw_filled_rect(0, 11, 128, 1, 1);
if(current_kick) draw_filled_rect(10, 25, 20, 30, 1);
else { draw_filled_rect(10, 45, 20, 10, 1); draw_rect(10, 25, 20, 30, 1); }
if(current_hat) draw_filled_rect(98, 30, 16, 25, 1);
else { draw_filled_rect(98, 45, 16, 10, 1); draw_rect(98, 30, 16, 25, 1); }
if(current_freq > 0 && !is_paused) {
int h = (current_freq - 200) / 12;
if (h < 5) h = 5;
if (h > 40) h = 40;
draw_filled_rect(50, 60 - (h/2), 6, (h/2), 1);
draw_filled_rect(60, 60 - h, 8, h, 1);
draw_filled_rect(72, 60 - (h/1.5), 6, (h/1.5), 1);
} else {
draw_filled_rect(50, 58, 28, 2, 1);
}
oled_push_framebuffer();
vTaskDelay(pdMS_TO_TICKS(33)); // ~30 FPS
}
}
// ==========================================
// 8. CORE 1: THE MUSIC ENGINE
// ==========================================
void buzzer_sequence_task(void *pvParameters) {
const SequenceStep* active_song = careless_song;
int num_steps = sizeof(careless_song) / sizeof(SequenceStep);
int last_encoder_count = 0;
int encoder_count = 0;
while(1) {
for (int i = 0; i < num_steps; i++) {
while (is_paused) {
ledc_set_duty(BUZZER_LEDC_MODE, BUZZER_LEDC_CHANNEL, 0); ledc_update_duty(BUZZER_LEDC_MODE, BUZZER_LEDC_CHANNEL);
gpio_set_level(ACTIVE_BUZZER_1_PIN, 0); gpio_set_level(ACTIVE_BUZZER_2_PIN, 0);
gpio_set_level(LED_KICK_PIN, 0); gpio_set_level(LED_HAT_PIN, 0);
current_freq = 0; current_kick = false; current_hat = false;
vTaskDelay(pdMS_TO_TICKS(50));
if (trigger_song_change) break;
}
if (trigger_song_change) {
if (current_song_idx == 0) { active_song = careless_song; num_steps = sizeof(careless_song) / sizeof(SequenceStep); }
else if (current_song_idx == 1) { active_song = takeonme_song; num_steps = sizeof(takeonme_song) / sizeof(SequenceStep); }
else if (current_song_idx == 2) { active_song = rickroll_song; num_steps = sizeof(rickroll_song) / sizeof(SequenceStep); }
else if (current_song_idx == 3) { active_song = elvis_song; num_steps = sizeof(elvis_song) / sizeof(SequenceStep); }
else if (current_song_idx == 4) { active_song = abba_song; num_steps = sizeof(abba_song) / sizeof(SequenceStep); }
else if (current_song_idx == 5) { active_song = elise_song; num_steps = sizeof(elise_song) / sizeof(SequenceStep); }
else if (current_song_idx == 6) { active_song = mozart_song; num_steps = sizeof(mozart_song) / sizeof(SequenceStep); }
else if (current_song_idx == 7) { active_song = midi_mario; num_steps = sizeof(midi_mario) / sizeof(SequenceStep); }
else if (current_song_idx == 8) { active_song = midi_potc_2; num_steps = sizeof(midi_potc_2) / sizeof(SequenceStep); }
else if (current_song_idx == 9) { active_song = midi_potc_3; num_steps = sizeof(midi_potc_3) / sizeof(SequenceStep); }
else if (current_song_idx == 10){ active_song = midi_alla_turca; num_steps = sizeof(midi_alla_turca) / sizeof(SequenceStep); }
else if (current_song_idx == 11){ active_song = midi_tetris_1; num_steps = sizeof(midi_tetris_1) / sizeof(SequenceStep); }
else if (current_song_idx == 12){ active_song = midi_sonic; num_steps = sizeof(midi_sonic) / sizeof(SequenceStep); }
else if (current_song_idx == 13){ active_song = midi_cast; num_steps = sizeof(midi_cast) / sizeof(SequenceStep); }
else if (current_song_idx == 14){ active_song = midi_seven; num_steps = sizeof(midi_seven) / sizeof(SequenceStep); }
else if (current_song_idx == 15){ active_song = midi_mega; num_steps = sizeof(midi_mega) / sizeof(SequenceStep); }
trigger_song_change = false;
break;
}
SequenceStep step = active_song[i];
pcnt_unit_get_count(pcnt_unit, &encoder_count);
int diff = encoder_count - last_encoder_count;
last_encoder_count = encoder_count;
if (encoder_mode_volume) {
current_volume += diff * 0.05;
if (current_volume < 0.0) current_volume = 0.0;
if (current_volume > 1.0) current_volume = 1.0;
} else {
current_speed += diff * 0.05;
if (current_speed < 0.2) current_speed = 0.2;
if (current_speed > 3.0) current_speed = 3.0;
}
int adj_duration = (int)(step.duration / current_speed);
int adj_drum_hit = (int)(45 / current_speed);
current_freq = step.frequency;
uint32_t target_duty = (uint32_t)(BUZZER_LEDC_DUTY * current_volume);
if (step.frequency > 0 && target_duty > 0) {
ledc_set_freq(BUZZER_LEDC_MODE, BUZZER_LEDC_TIMER, step.frequency);
ledc_set_duty(BUZZER_LEDC_MODE, BUZZER_LEDC_CHANNEL, target_duty);
} else {
ledc_set_duty(BUZZER_LEDC_MODE, BUZZER_LEDC_CHANNEL, 0);
}
ledc_update_duty(BUZZER_LEDC_MODE, BUZZER_LEDC_CHANNEL);
current_kick = step.kick_drum;
current_hat = step.hi_hat;
if (step.kick_drum) { gpio_set_level(ACTIVE_BUZZER_1_PIN, 1); gpio_set_level(LED_KICK_PIN, 1); }
if (step.hi_hat) { gpio_set_level(ACTIVE_BUZZER_2_PIN, 1); gpio_set_level(LED_HAT_PIN, 1); }
if (adj_duration > adj_drum_hit) {
vTaskDelay(pdMS_TO_TICKS(adj_drum_hit));
gpio_set_level(ACTIVE_BUZZER_1_PIN, 0); gpio_set_level(ACTIVE_BUZZER_2_PIN, 0);
gpio_set_level(LED_KICK_PIN, 0); gpio_set_level(LED_HAT_PIN, 0);
current_kick = false; current_hat = false;
vTaskDelay(pdMS_TO_TICKS(adj_duration - adj_drum_hit));
} else {
vTaskDelay(pdMS_TO_TICKS(adj_duration));
gpio_set_level(ACTIVE_BUZZER_1_PIN, 0); gpio_set_level(ACTIVE_BUZZER_2_PIN, 0);
gpio_set_level(LED_KICK_PIN, 0); gpio_set_level(LED_HAT_PIN, 0);
current_kick = false; current_hat = false;
}
ledc_set_duty(BUZZER_LEDC_MODE, BUZZER_LEDC_CHANNEL, 0);
ledc_update_duty(BUZZER_LEDC_MODE, BUZZER_LEDC_CHANNEL);
current_freq = 0;
vTaskDelay(pdMS_TO_TICKS(15));
}
}
}
// ==========================================
// 9. MAIN APPLICATION ENTRY
// ==========================================
void app_main(void) {
printf("Desk Rave: 16-Track Symphony Edition Initializing...\n");
init_hardware();
xTaskCreatePinnedToCore(oled_visualizer_task, "oled_task", 4096, NULL, 4, NULL, 0);
xTaskCreatePinnedToCore(button_task, "btn_task", 4096, NULL, 5, NULL, 0);
xTaskCreatePinnedToCore(buzzer_sequence_task, "music_task", 4096, NULL, 5, NULL, 1);
}